Extraire une chaine de caractères en PHP
Sochra
Messages postés
17
Date d'inscription
Statut
Membre
Dernière intervention
-
macgawel Messages postés 664 Date d'inscription Statut Membre Dernière intervention -
macgawel Messages postés 664 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis en train de coder un petit programme en PHP et j'aimerai récupérer du texte qui se trouve entre deux balise
Par exemple:
<td>Un certain texte</td>
En ayant ceci j'aimerai récupérer "Un certain texte". Mais la longueur du texte que je dois récupérer est différent a chaque fois donc il faudrait que je récupère le texte entre <td> et </td>
J'espère que vous pourrez m'aider :)
Merci d'avance
Sochra
Je suis en train de coder un petit programme en PHP et j'aimerai récupérer du texte qui se trouve entre deux balise
Par exemple:
<td>Un certain texte</td>
En ayant ceci j'aimerai récupérer "Un certain texte". Mais la longueur du texte que je dois récupérer est différent a chaque fois donc il faudrait que je récupère le texte entre <td> et </td>
J'espère que vous pourrez m'aider :)
Merci d'avance
Sochra
A voir également:
- Extraire une chaine de caractères en PHP
- Extraire une video youtube - Guide
- Extraire le son d'une vidéo - Guide
- Caractères ascii - Guide
- Caractères spéciaux - Guide
- Chaine tnt gratuite sur mobile - Guide
5 réponses
Un petit bidouillage - il doit y avoir mieux, mais ça fonctionne...
On fait deux split : le premier va couper le texte en utilisant les <td> comme délimiteurs. Le deuxième utilise les </td> sur le texte déjà coupé...
Ensuite, il faut se débarasser du début du texte, qui contient tout jusqu'au premier <td>.
au final, on aurait ça :
On fait deux split : le premier va couper le texte en utilisant les <td> comme délimiteurs. Le deuxième utilise les </td> sur le texte déjà coupé...
Ensuite, il faut se débarasser du début du texte, qui contient tout jusqu'au premier <td>.
au final, on aurait ça :
$temp = preg_split("'<td>'",$chaine); $debut = true; foreach ($temp as $var) { if ($debut) { // Pour se débarasser du début du texte... $debut = false; continue; } $tmp = preg_split("'</td>'",$var); $debut2 = true; foreach ($tmp as $var2) { echo $var2; // Ou ce qu'on veut faire avec le contenu du <td>...</td> // Le break sert à sortir sans traiter la fin du texte... break; } }
Bonjour.
Jette un oeil sur les expressions régulières (RegExp).
Après, il faudrait voir suivant la structure de ton fichier...
Jette un oeil sur les expressions régulières (RegExp).
Après, il faudrait voir suivant la structure de ton fichier...
Voila ce que j'ai fait :
$provisoire = split("<td>(.*)</td>",$text1);
Seulement quand je fais cela.... et ben il me renvoie toute la page ($text1 étant une page web) ai je fais une erreur ?? (Enfin la question serait plutot : ou est mon erreur ? )
$provisoire = split("<td>(.*)</td>",$text1);
Seulement quand je fais cela.... et ben il me renvoie toute la page ($text1 étant une page web) ai je fais une erreur ?? (Enfin la question serait plutot : ou est mon erreur ? )
si tu cree un formulaire ( donc pour recuperer des données qu'elles soient entré par l'utilisateur ou modifié par un tiers ) tu recupere ton texte entre
<td> test <input type="text" name="textfield" /></td> par example
ou alors j'ai pas tout compris
<td> test <input type="text" name="textfield" /></td> par example
ou alors j'ai pas tout compris
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question