Demande d'aide pour une expression régulière

Résolu
bluemandfr Messages postés 55 Date d'inscription vendredi 7 septembre 2007 Statut Membre Dernière intervention 16 mai 2013 - 18 nov. 2009 à 03:58
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 - 18 nov. 2009 à 17:36
Bonjour à tous !

J'ai le code suivant :

$n =   "\n";
echo '

'.eregi_replace('<li>[ \n]*<', '<li><', '<li> '.$n.' ');
echo '

'.eregi_replace('<li>[ \n]*<', '<li><', "<li> ".$n." ");


J'ai tout essayé : rien à faire, je n'y arrive pas.

Je cherche à remplacer ce qui se trouve entre <li> et , sachant que, comme vous pouvez le constater, il n'y a que des espaces ou des LINEFEED entre les deux.

Le pattern, selon la documentation des expressions régulières, est correct. Et cela ne marche pas ! Ou est l'erreur ?

Attention, pour votre réponse vous ne devez modifier que le pattern, RIEN D'AUTRE ! En particulier, il ne faut surtout pas changer :

$n   = "\n";

en
$n = '\n';


Par avance merci !

BlueMan.

3 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
18 nov. 2009 à 09:15
Salut,

Un truc comme ça devrait convenir :
<?php
$n = "\n";
echo preg_replace('`(<li>)\s+()`s', '${1}${2}', '<li> '.$n.' ');
?>


Mais il y a sans doute mieux, pour cela il faudrait en connaitre plus sur la chaîne elle même.
Oublie l'utilisation des fonctions ereg*, elles sont dépréciées (utilise les PCRE)


Cordialement,


Kohntark -
3
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
18 nov. 2009 à 17:36
Mais je ne trouve pas de version de preg_replace qui soit insensible à la casse.


Il faut pour cela utiliser l'option i :

<?php
$n = "\n";
echo preg_replace('`(<li>)\s+()`si', '${1}${2}', '<li> '.$n.' ');
?>


Cordialement,

Kohntark -
3
bluemandfr Messages postés 55 Date d'inscription vendredi 7 septembre 2007 Statut Membre Dernière intervention 16 mai 2013
18 nov. 2009 à 14:11
Merci !

Ca marche nickel !

Mais je ne trouve pas de version de preg_replace qui soit insensible à la casse.

Encore merci de ton aide !

Cordialement,

BlueMan.
0
Rejoignez-nous