Trouver plusieurs caractères dans une chaine
Résolu
jiantox
Messages postés
1092
Date d'inscription
Statut
Membre
Dernière intervention
-
jiantox Messages postés 1092 Date d'inscription Statut Membre Dernière intervention -
jiantox Messages postés 1092 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
voilà j'ai une chaine simple remplie de caractères, dans celle-ci j'ai des balises [ url ] .. [ /url ][ i ] .. [ /i ] ( sans les espaces dans les crochets ).
j'ai commencé un petit script pour récupérer le contenu des crochets, hors ça ne récupère que le 1er crochet.
comment faire pour que le script "boucle" dans ma chaine et s'execute pour chaque crochets qu'il rencontre ?
function url($texte) {
$mdeb1 = "[";
$deb1 = strpos( $texte, $mdeb1 ) + strlen( $mdeb1 );
$mfin1 = "]";
$fin1 = strpos( $texte, $mfin1 );
$caracoi = substr( $texte, $deb1, $fin1 - $deb1 );
return $caracoi;
}
$texte = '[ url ]test[ /url ] - [ i ]test[ /i ]'; ( toujours sans espaces )
echo url($texte); // ne retourne que "url"
voilà j'ai une chaine simple remplie de caractères, dans celle-ci j'ai des balises [ url ] .. [ /url ][ i ] .. [ /i ] ( sans les espaces dans les crochets ).
j'ai commencé un petit script pour récupérer le contenu des crochets, hors ça ne récupère que le 1er crochet.
comment faire pour que le script "boucle" dans ma chaine et s'execute pour chaque crochets qu'il rencontre ?
function url($texte) {
$mdeb1 = "[";
$deb1 = strpos( $texte, $mdeb1 ) + strlen( $mdeb1 );
$mfin1 = "]";
$fin1 = strpos( $texte, $mfin1 );
$caracoi = substr( $texte, $deb1, $fin1 - $deb1 );
return $caracoi;
}
$texte = '[ url ]test[ /url ] - [ i ]test[ /i ]'; ( toujours sans espaces )
echo url($texte); // ne retourne que "url"
A voir également:
- Trouver plusieurs caractères dans une chaine
- Trouver adresse mac - Guide
- Caractères ascii - Guide
- Caractères spéciaux - Guide
- Chaine tnt gratuite sur mobile - Guide
- Comment trouver le mot de passe wifi sur son téléphone - Guide
2 réponses
J'ai résolu mon souci en utilisant une autre technique
avant j'avais [ url ]test.truc.com[ /url ]
du coup il me fallait une fonction pour repérer et récupérer [ url ] $variable [ /url ]
et ça posais problème parce qu'il ne m'en récupérais qu'un seul.
Du coup j'ai fais comme ceci :
[.url http://truc.test.com/ url.]Nom du lien[ /url ]
et avec une petite fonction je remplace directement [.url par <a href=" .url] par "> et [ /url ] par </a>
Moin compliqué et ça me le change directement dans toute la variable sans boucler ^^
Merci quand meme
avant j'avais [ url ]test.truc.com[ /url ]
du coup il me fallait une fonction pour repérer et récupérer [ url ] $variable [ /url ]
et ça posais problème parce qu'il ne m'en récupérais qu'un seul.
Du coup j'ai fais comme ceci :
[.url http://truc.test.com/ url.]Nom du lien[ /url ]
et avec une petite fonction je remplace directement [.url par <a href=" .url] par "> et [ /url ] par </a>
Moin compliqué et ça me le change directement dans toute la variable sans boucler ^^
Merci quand meme
Invalid argument supplied for foreach().
Peut être faudrait-il passer par une fonction qui lit mot par mot et du coup faire un while sur chaque mot pour la vérification ?..
je sèche un peu ^^