Ragazzi è possibile indicare a preg_replace() di ignorare eventuali caratteri jolly presenti in una parte dell'espressione?
Sostanzialmente ho due espressioni regolari:
1) la prima (preg_match) mi trova dei tag particolari all'interno di un documento ed a seconda del tag applica una particolare politica
2) la seconda (preg_replace) gestisce la politica di sostituzione di quel particolare tag
ora però quando applico la preg_replace se nell'espressione trovata sono presenti dei caratteri jolly ovviamente non funziona più come dovrebbe.
c'è una soluzione al problema?
Dettagli
Con la prima regex trovo tag1 e tag2 (con i relativi argomenti [id] se presenti)codice:<html> <tag1> ciao </tag1> <tag2 id="oggi - (domani)"> ole </tag2> </html>
Con la seconda faccio un replace "dinamico" passando nel pattern della regex gli argomenti trovati; ed è proprio qui il problema:
se , come nell'esempio, $id conterrà dei caratteri jolly non funziona come dovrebbe.codice:$x = preg_replace("#<tag2\s[^>]*id=\"{$id}\"([^ >]*?)\\1[^>]*>(.*)<\/if>#siU", eval(...), $x);
help

Rispondi quotando