Pour le texte perçu comme complètement déterministique, voici le pattern en regex à lui (j'ai mis \r\n pour fixer l'idée, pour *nix c'est \n par exemple):
'#^<span>\r\n[ ]{8}<i class="flag-me"></i><br>\r\n[ ]{8}4885<br>\r\n[ ]{8}<p>Bonjour</p></span>$#';
Maintenant, vous voulez matcher une partie particulière qui peut vous intéresser, donc ça devient comme ceci:
'#<i class="flag-me"></i><br>\r\n[ ]{8}4885<br>$#';
Et puis, il semble une bonne chose de pourtant laisser une partie très indéterminée capturée comme sous-match et vous pensez un fanion PCRE_UNGREEDY est une bonne chose de faire et aussi PCRE_CASELESS, ça devient:
'#<i class="flag-me"></i><br>\r\n[ ]{8}(.+)<br>$#iU'; //PCRE_UNGREEDY on
Et puis, vous pensez espace blanche devrait laisser indéterminée et qu'on a un fanion PCRE_UNGREEDY déjà, ça devient ceci:
'#<i class="flag-me"></i><br>\s*?(.+)<br>$#iU'; //PCRE_UNGREEDY on; ? pour le renverser
Voilà, c'est fait.
D'ailleurs, je ne pense pas le fanion U est très souhaîtable à mettre en général, comme c'est trop lié à regex de php.
Partager