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
codice:
<html>
<tag1> ciao </tag1>
<tag2 id="oggi - (domani)"> ole </tag2>
</html>
Con la prima regex trovo tag1 e tag2 (con i relativi argomenti [id] se presenti)
Con la seconda faccio un replace "dinamico" passando nel pattern della regex gli argomenti trovati; ed è proprio qui il problema:
codice:
$x = preg_replace("#<tag2\s[^>]*id=\"{$id}\"([^ >]*?)\\1[^>]*>(.*)<\/if>#siU", eval(...), $x);
se , come nell'esempio, $id conterrà dei caratteri jolly non funziona come dovrebbe.
help