Rechercher : dans
Par :

Extraire une chaine de caractères en PHP

Dernière réponse le 19 aoû 2008 à 13:16:37 Sochra, le 18 aoû 2008 à 19:18:27 
 Signaler ce message aux modérateurs

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

Configuration: Windows XP
Firefox 3.0.1

Meilleures réponses pour « Extraire une chaine de caractères en PHP » dans :
VBScript - Les fonctions de chaînes de caractères VoirLes fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes...
Javascript - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractère Une chaîne de caractère est, comme son nom l'indique, une suite de caractères. On la représente par la suite de caractères encadrée par des guillemets simples (') ou doubles ("), sachant que les deux types de...
Langage C - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...

1

macgawel, le 18 aoû 2008 à 19:21:35

Bonjour.

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

Après, il faudrait voir suivant la structure de ton fichier...
Si tu donnes à celui qui a faim un poisson, tu le nourris pour un jour
Si tu lui apprends à pêcher, tu le nourris pour toujours.

Répondre à macgawel

2

Sochra, le 18 aoû 2008 à 19:38:54

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 ? )

Répondre à Sochra

3

yannyann, le 18 aoû 2008 à 20:37:27

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

Répondre à yannyann

4

Sochra, le 18 aoû 2008 à 22:18:39

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>

Répondre à Sochra

5

 macgawel, le 19 aoû 2008 à 13:16:37
  • +1

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;
	}
}


Si tu donnes à celui qui a faim un poisson, tu le nourris pour un jour
Si tu lui apprends à pêcher, tu le nourris pour toujours.

Répondre à macgawel
Collection CommentÇaMarche.net