modifier dernière occurence trouvée dans un texte

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : modifier dernière occurence trouvée dans un texte

Re: modifier dernière occurence trouvée dans un texte

par florinn » 09 janv. 2010, 14:29

Voici un exemple avec des expressions régulières:

$text = 'Lorem ipsum dolor sit amet, <br>
consectetur adipisicing elit<br>
sed do eiusmod tempor incididunt<br>';
$text = preg_replace('|<br>$|', '', $text);

Re: modifier dernière occurence trouvée dans un texte

par Aureusms » 08 janv. 2010, 16:53

Hmmm j'ai une idée saugrenue qui me vient...
Si j'ai bien compris ton <br> est à la fin du texte : tu te sers de explode() pour couper ta chaine en tableau et tu enlèves (avec le paramètres -1) la dernière occurence (qui est vide) et tu recréés ton texte sans le denier <br>
<?php
//si <br> à la fin du texte
$tab_texte = explode ("<br>",$texte,-1);
$texte = implode ("<br />",$tab_texte);
?>
Si tu veux le dernier <br> mais s'il n'est pas en fin de texte : tu fais la même manip mais tu rajoutes la dernière occurrence du tableau avec un espace
<?php
//si le dernier <br> mais pas à la fin du texte
$tab_texte_0 = explode ("<br>",$texte);
$tab_texte_1 = explode ("<br>",$texte,-1);
$dernier_occurence = count($tab_texte_1);
$texte = implode ("<br />",$tab_texte_1)." ".$tab_texte_0[$dernier_occurence];
?>

Re: modifier dernière occurence trouvée dans un texte

par seg » 08 janv. 2010, 16:48

ah oui très bonne idée, j'y avais pas pensé.
Merci beaucoup

Re: modifier dernière occurence trouvée dans un texte

par Sodams » 08 janv. 2010, 16:17

Vu que tu connais la position du dernier br, tu peux faire

substr(partie avant le dernier br) + substr(partie après le dernier br)

modifier dernière occurence trouvée dans un texte

par seg » 08 janv. 2010, 16:13

Bonjour à tous,

Voici mon problème, j'ai un texte et dans ce texte j'ai des balises <br>. Je souhaiterai supprimer le dernier <br> du texte qui me pose des problèmes.
Le strreplace ne me permet pas de changer la dernière occurence de br trouvée et le strrpos me permet seulement de ressortir la position. Je ne vois pas comment modifier seulement ça dans mon texte en ayant la position.
Quelqu'un a une idée ?

Merci par avance pour vos réponses :D