[Tech] regexp per tag html

paolo palmerini paolo@palmerini.org
Mer 2 Giu 2004 16:33:56 CEST


On 06/02/04 09:02:27, Franco Bagnoli wrote:
> 
> non so quanto sono potenti le regexp per php, ma ammesso che tu possa

preg_replace() prende le espressioni regolari del perl
(p(erl)reg(urlar_expressions)).

> leggere il tutto come una sola stringa, dovrebbe bastare (in perl)
> 
> s/((^|>)[^>]*?)$old/$1$new/gs
> 
> (nota l'eleganza di (^|>)[^>] ....)
>

no, non funziona (o non ho capito io, pure probabile...) la pagina in 	 
questione è questa (perdono perl'autoreferenza, è solo per spiegami  
meglio):
http://palmerini.org/digitaldivide/?q=&search=highlight&f=documents.php

la chiamata è
echo preg_replace("/((^|>)[^>]*?)$old/si",
     "$1<font style=\"background-color:yellow\">$old</font>",
      $content );

se provo a mettere $old="a" (ovvero inserire "a" nella fomr presente  
nella pagina suindicata), fa pasticcio.... se invece $old è una stringa  
che non compare all'interno di un tag, funziona..

> oppure usi un html/xml parser vero e proprio.

oddio... speravo bastasse meno.

grazie comunque dell'aiuto, me la sbirghero' in qualche modo....
p.


-- 
paolo palmerini
http://palmerini.org



Maggiori informazioni sulla lista flug-tech