Pb de remplacement dans une variable

cs_amine124 Messages postés 48 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 5 août 2016 - 25 avril 2010 à 16:17
cs_amine124 Messages postés 48 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 5 août 2016 - 25 avril 2010 à 21:52
Bonjour,
j'ai un chaine de caractère ($content) qui contient des balises et .
Je veux sélectionner les mots entre ces deux balises et les remplacer par des trous sous forme de zones de texte en éliminant les balises, pour afficher enfin une nouvelle chaine de caractères ($new_content) qui contient le texte de $content sans balises et et avec des trous.
J'ai pu sélectionner les mots entres les balises, mais je n'ai pas arrivé à les remplacer correctement par des trous; le pb est que la nouvelle chaine s'affiche plusieurs fois selon le nombre de balises et trouvant dans la variable $content.
Veuillez me trouver une solution, et voici une partie du code:

<?php
$tab = split(" | ", $content, $nb_occ);
$j =0;
foreach($tab as $elem)
{
if($j%2!=0)
{
$new_content=preg_replace($elem,"",$content);

}
$j++;
}
echo $new_content;
?>

Merci d'avance.

2 réponses

Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
25 avril 2010 à 16:43
Le plus simple serait de juste remplacer les valeurs dans ton tableau $tab et après de faire un implode plutôt que de te casser la tête avec les expressions régulières.

<?php
$content =  'tt 123 ttttesttttt';

$tab  = split("|", $content); 
foreach($tab as $key=>$elem) { 
if($key%2!=0) { 
$tab[$key]="";
} 
} 
echo implode('', $tab);
?>
0
cs_amine124 Messages postés 48 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 5 août 2016
25 avril 2010 à 21:52
merci merci bcp, c'est meilleur pour moi.
0
Rejoignez-nous