Remplacer un partie d'une var en php
amine_marc
Messages postés
256
Date d'inscription
Statut
Membre
Dernière intervention
-
amine_marc Messages postés 256 Date d'inscription Statut Membre Dernière intervention -
amine_marc Messages postés 256 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j'ai un chaine de caractère qui contient des balises <strong> et </strong>.
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 ($new_content) de caractère qui contient le texte de $content sans balises <strong> et </strong> 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 <strong> et </strong> trouvant dans la variable $content.
Veuillez me trouver une solution, et voici une partie du code:
<?php
$tab = split("<strong>|</strong>", $content, $nb_occ);
$j=0;
foreach($tab as $elem)
{
if($j%2!=0)
{
$new_content=preg_replace($elem,"<input type='text' value='' name='".$elem."'>",$content);
}
$j++;
}
echo $new_content;
?>
Merci d'avance.
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 ($new_content) de caractère qui contient le texte de $content sans balises <strong> et </strong> 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 <strong> et </strong> trouvant dans la variable $content.
Veuillez me trouver une solution, et voici une partie du code:
<?php
$tab = split("<strong>|</strong>", $content, $nb_occ);
$j=0;
foreach($tab as $elem)
{
if($j%2!=0)
{
$new_content=preg_replace($elem,"<input type='text' value='' name='".$elem."'>",$content);
}
$j++;
}
echo $new_content;
?>
Merci d'avance.
A voir également:
- Remplacer un partie d'une var en php
- Remplacer disque dur par ssd - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Remplacer word - Guide
- Remplacer coco - Accueil - Réseaux sociaux
- Easy php - Télécharger - Divers Web & Internet
5 réponses
Bonjour,
regardez si les fonctions explode et implode ne peuvent pas résoudre votre problème.
explode permet de mette une chaine sous forme de tableau en fonction d'un séparateur.
regardez si les fonctions explode et implode ne peuvent pas résoudre votre problème.
explode permet de mette une chaine sous forme de tableau en fonction d'un séparateur.
Merci pour ta réponse; mais le pb n'est au niveau de trouver les sous chaines, plutôt la répétition de la var $new_chaine +ieurs fois.
Bonsoir,
désolé mais je ne comprends pas.
répéter $new_chaine plusieurs fois où quand
$a="";
ici une boucle
$a .= $new_chaine ;
fin de boucle
$a contiendra la concaténation des new chaine calculée dans la boucle
mais je ne sais pas si cela correspond à vote problème.
Pour qu'il ait le moins de mécontents possible il faut toujours taper sur les mêmes.
(comme vous l'avez reconnu : proverbe shadocks)
désolé mais je ne comprends pas.
répéter $new_chaine plusieurs fois où quand
$a="";
ici une boucle
$a .= $new_chaine ;
fin de boucle
$a contiendra la concaténation des new chaine calculée dans la boucle
mais je ne sais pas si cela correspond à vote problème.
Pour qu'il ait le moins de mécontents possible il faut toujours taper sur les mêmes.
(comme vous l'avez reconnu : proverbe shadocks)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
nn, je te remercie tt d'abord pour ta réaction;
mais le pb est maintenant résolu et oui, vraiment je dois utiliser la fct implode comme tu m'as dit, et la répétition c'est au niveau d'affichage de la chaine...
voici une partie du code corrigé maintenant:
<?php
$tab = split("<strong>|</strong>", $content);
foreach($tab as $key=>$elem) {
if($key%2!=0) {
$tab[$key]="<input type='text' value='' name='".$elem."'>";
}
}
$new_content=implode('', $tab);
?>
mais le pb est maintenant résolu et oui, vraiment je dois utiliser la fct implode comme tu m'as dit, et la répétition c'est au niveau d'affichage de la chaine...
voici une partie du code corrigé maintenant:
<?php
$tab = split("<strong>|</strong>", $content);
foreach($tab as $key=>$elem) {
if($key%2!=0) {
$tab[$key]="<input type='text' value='' name='".$elem."'>";
}
}
$new_content=implode('', $tab);
?>