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   -
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
A voir également:

5 réponses

macgawel Messages postés 664 Date d'inscription   Statut Membre Dernière intervention   89
 
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 :
$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;
	}
}


1
macgawel Messages postés 664 Date d'inscription   Statut Membre Dernière intervention   89
 
Bonjour.

Jette un oeil sur les expressions régulières (RegExp).

Après, il faudrait voir suivant la structure de ton fichier...
0
Sochra Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   1
 
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 ? )
0
yannyann
 
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Sochra Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   1
 
Non non je ne veux pas récupérer ce qui est entré par un utilisateur. Je veux récupérer le texte qui se trouve entre deux balise.
Récupérer un morceau de code de la page et ce morceau que j'aimerai récupéré c'est ce qui est contenu entre mes deux balise <td></td>
0