[RESOLU] supprimer les br en fin de chaine

Eléphanteau du PHP | 25 Messages

13 sept. 2012, 22:58

Bonjour,

je souhaiterais supprimer tous les br qui se trouvent a la fin d'une chaine.

j'ai testé
while(true)
{
$br = substr(trim($chaine),-6); // recupere 6 derniers caracteres qui correspondent au <br />
if($br == "<br />")
{
$resultat = str_replace("<br />","",$chaine);
}
else
{
break;
}
}
mais ça ne fonctionne pas
merci de vos conseils

Eléphant du PHP | 229 Messages

14 sept. 2012, 07:22

Bonjour
$position = strrpos($chaine, 'htmlspecialchars(<br />)');
echo $position;
Te retourne quoi ?

As tu essayez strip_tags() ?

ViPHP
ViPHP | 2577 Messages

14 sept. 2012, 08:27

while(true)
{
$chaine = trim($chaine);                             // pour être tranquille une bonne fois pour toute
$br = substr($chaine,-6);                            // récupere 6 derniers caracteres qui correspondent au <br />
echo '$br ="',$br,'"<br>';                             // pour voir ce que tu récupères 
if($br == "<br />")
{
$resultat = substr(trim($chaine),0,length($chaine)-6);     // pour enlever le dernier et uniquement le dernier , pas tous les br
}
else
{
break;
}
}
Autrement, "ca marche pas", c'est un peu léger comme diagnostique... Tu ne changes pas le br, tu changes tous les br.
Il faudra quand même vérifier mes calculs de longueur et de position.

Mammouth du PHP | 2278 Messages

14 sept. 2012, 11:37

while(true)
{
$chaine = trim($chaine);                             // pour être tranquille une bonne fois pour toute
$br = substr($chaine,-6);                            // récupere 6 derniers caracteres qui correspondent au <br />
echo '$br ="',$br,'"<br>';                             // pour voir ce que tu récupères 
if($br == "<br />")
{
$resultat = substr(trim($chaine),0,length($chaine)-6);     // pour enlever le dernier et uniquement le dernier , pas tous les br
}
else
{
break;
}
}
Autrement, "ca marche pas", c'est un peu léger comme diagnostique... Tu ne changes pas le br, tu changes tous les br.
Il faudra quand même vérifier mes calculs de longueur et de position.
et tester à tout hasard "<br>" et "<br/>" (une faute de frappe est si vite arrivée).
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Eléphanteau du PHP | 25 Messages

14 sept. 2012, 19:01

Bonjour,

merci a tous pour vos réponses ;)
le code final donne ça
$a=0;
while($a<5)
{
$lenght = strlen($chaine);
$chaine = trim($chaine);                             // pour être tranquille une bonne fois pour toute
$br = substr($chaine,-6);                            // récupere 6 derniers caracteres qui correspondent au <br />
 
if($br == "<br />")
{
$chaine = substr(trim($chaine),0,$lenght-6);     // pour enlever le dernier et uniquement le dernier , pas tous les br
}
$a++;
}
il me reste a trouver la solution pour compter le nombre de br a la fin de ma chaine pour remplacer le 5 dans la boucle
br est inséré automatiquement dans mon textarea par ckeditor, pas besoin donc de vérifier

encore merci et bon we

Eléphant du PHP | 229 Messages

14 sept. 2012, 19:40

Bonjour,

(...)
pour enlever le dernier et uniquement le dernier , pas tous les br
(...)
Je l'avais pas vu ^^