[PHP] str_replace() avec comptage
Résolu
ten62
Messages postés
158
Date d'inscription
Statut
Membre
Dernière intervention
-
ten62 Messages postés 158 Date d'inscription Statut Membre Dernière intervention -
ten62 Messages postés 158 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- [PHP] str_replace() avec comptage
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Comptage de pas gratuit - Télécharger - Sport
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
5 réponses
trouvé !
a toi d'ajouter la regex pour les liens ;)
EDIT :
bon dans mon élan:
<?php $str = "rouge blablablablabla rouge blablablablabla rouge encore et re rouge "; $nbr_words = substr_count($str, 'rouge '); for($i=1; $i<=$nbr_words; $i++){ $str = preg_replace('/rouge /', 'rouge'.$i.' ', $str, 1); } echo $str; ?>
a toi d'ajouter la regex pour les liens ;)
EDIT :
bon dans mon élan:
<?php $str = "https://www.google.com/?gws_rd=ssl blablablablabla http://www.site.com/ blablablablabla http://www.resite.com"; $nbr_words = substr_count($str, 'http://www'); for($i=1; $i<=$nbr_words; $i++){ $str = preg_replace('#http://www.[a-z0-9._/-]+#i', 'http://site.com/page.php?numero='.$i.'&url=', $str, 1); } echo $str; ?>
EDIT->Oups désoler le code ne fonctionnait vraiment pas, je reposte quand j'ai quelque chose qui fonctionne
Tu devrais aller voir du coté de preg_replace
en effet tu peux lui passer dans un parametre le nombre max d'occurences à remplacer (tu mettrais donc 1 dans ton cas)
et tu fais une boucle : tant que ta chaine initiale est différente de la chaine apres le preg_match, tu incrémentes un variable
ca donnerai quelquechose comme ca :
$i=1;
$letexte = '...';
$lachainearemplacer = 'rouge '; // pas oublier l'espace à la fin sinon ca va continuer à boucler ^^
while($letexte != preg_replace("/$lachainearemplacer/" ,$lachainearemplacer.$i.' ' , $letexte, 1){
$i++;
}
en effet tu peux lui passer dans un parametre le nombre max d'occurences à remplacer (tu mettrais donc 1 dans ton cas)
et tu fais une boucle : tant que ta chaine initiale est différente de la chaine apres le preg_match, tu incrémentes un variable
ca donnerai quelquechose comme ca :
$i=1;
$letexte = '...';
$lachainearemplacer = 'rouge '; // pas oublier l'espace à la fin sinon ca va continuer à boucler ^^
while($letexte != preg_replace("/$lachainearemplacer/" ,$lachainearemplacer.$i.' ' , $letexte, 1){
$i++;
}
Merci mais ça ne fonctionne pas ..
Plus concrètement, je voudrait remplacer tout les liens de ma page, en y ajoutant juste après le href=" ceci :
http://site.com/page.php?numero=1&url=
http://site.com/page.php?numero=2&url=
http://site.com/page.php?numero=3&url=
http://site.com/page.php?numero=4&url=
Une idée ?
Merci bcp !
Plus concrètement, je voudrait remplacer tout les liens de ma page, en y ajoutant juste après le href=" ceci :
http://site.com/page.php?numero=1&url=
http://site.com/page.php?numero=2&url=
http://site.com/page.php?numero=3&url=
http://site.com/page.php?numero=4&url=
Une idée ?
Merci bcp !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question