2009-09-16 2 views
5

J'ai essayé modificateur « m », mais ne fonctionne pas:Comment activer le mode d'expression régulière insensible aux espaces blancs dans PHP?

$reg = '/... 
     /m'; 

preg_match($reg,...,$match); 

EDIT

Ou peut-être je besoin d'un modificateur qui peut ignorer l'espace blanc comme ENTRER, TAB et ainsi de suite. Parce que quand je supprime l'espace blanc dans mon regex cela fonctionne.

EDIT DE NOUVEAU:

je besoin d'un modificateur de sorte que l'expression régulière

"/aaaa b/", 
"/aaaa 
b/" 

sont la même chose, par exemple, il ne tient pas compte tout l'espace blanc dans regex lui-même.

+0

Pouvez-vous préciser votre situation avec plus de détails contexte? – Eimantas

+0

oui savoir ce que votre expression régulière serait aiderait aussi. ne correspond pas à la nouvelle ligne par défaut, si vous en avez besoin. pour correspondre vraiment tout utiliser le modificateur s ... – RageZ

+0

D'autres parties sont toutes OK, mais j'ai besoin de l'analyseur regex pour ignorer les espaces blancs dans regex, comment? – omg

Répondre

8

Le modificateur dont vous avez besoin est x

print_r(preg_match('/aaa 
     bbb/x', 'aaabbb')); 
+0

Enfin on me comprend! Cheers! Clever guy! – omg

0

Vous avez probablement un problème avec les points ne correspondant pas aux nouvelles lignes dans votre expression régulière. Vous pouvez utiliser le modificateur s pour faire en sorte que les points correspondent à toutes les nouvelles lignes.

Hope this helps

cela donnerait

/aaaaaaa.+b/ms 

serait également une meilleure pratique à utiliser \ n car en fonction de votre éditeur (Unix ou Windows) la nouvelle ligne pourrait être différents caractères, CR + LF ou seulement LF ... donc votre code ne sera pas portable.

ou vraiment ignorer les espaces blancs du reg ex

function formatRegEx($reg){ 
return preg_replace('/(\s+)/m', '\s+', $reg); 
} 
+0

Je dois utiliser RETURN dans regex parce que c'est très long. Sinon, il sera difficile de voir ce qu'il est en train de faire. En tout cas, d'une certaine manière, il y a une telle exigence. Mais comment activer ce mode? – omg

Questions connexes