Extraire texte entre balises HTML en PHP
cocobello27
Messages postés
556
Statut
Membre
-
Pitet Messages postés 2845 Statut Membre -
Pitet Messages postés 2845 Statut Membre -
Bonjour,
Après de nombreux essais, je viens vers vous pour me venir en aide ^^
En effet, je voudrais récupérer le contenu présent entre trois balises HTML et l'envoyer dans une base de donnée.
Pour ce qui est de l'envoie tout va bien mais c'est avec ces histoire de Regex que j'ai du mal...
Voilà le probleme:
Je voudrais récupérer différentes choses dans le bout de code ci-dessous présent sur une page distante et les stocker dans des variables distinctes
<h1>John Doe</h1>
<p>Promotion: A.Sc. 2</p>
<p>Campus de Paris</p>
Et que le résultat soit le suivant:
$prenom='John'
$nom='Doe'
$promotion='A.Sc. 2'
$campus='Paris'
Si l'un de vous pourrait m'aider pour trouver le moyen d'obtenir ce résultat ...
Merci d'avance !
Après de nombreux essais, je viens vers vous pour me venir en aide ^^
En effet, je voudrais récupérer le contenu présent entre trois balises HTML et l'envoyer dans une base de donnée.
Pour ce qui est de l'envoie tout va bien mais c'est avec ces histoire de Regex que j'ai du mal...
Voilà le probleme:
Je voudrais récupérer différentes choses dans le bout de code ci-dessous présent sur une page distante et les stocker dans des variables distinctes
<h1>John Doe</h1>
<p>Promotion: A.Sc. 2</p>
<p>Campus de Paris</p>
Et que le résultat soit le suivant:
$prenom='John'
$nom='Doe'
$promotion='A.Sc. 2'
$campus='Paris'
Si l'un de vous pourrait m'aider pour trouver le moyen d'obtenir ce résultat ...
Merci d'avance !
A voir également:
- Extraire texte entre balises HTML en PHP
- Extraire une video youtube - Guide
- Extraire texte d'une image - Guide
- Texte de chanson gratuit pdf - Télécharger - Vie quotidienne
- Extraire le son d'une vidéo - Guide
- Transcription audio en texte word gratuit - Guide
3 réponses
Salut,
Un exemple de solution alternative pour parser du html avec la classe DOMDocument :
Bonne journée,
Un exemple de solution alternative pour parser du html avec la classe DOMDocument :
$doc = new DOMDocument();
$doc->loadHTML('<h1>John Doe</h1>
<p>Promotion: A.Sc. 2</p>
<p>Campus de Paris</p> ');
$titleNode = $doc->getElementsByTagName('h1')->item(0);
var_dump($titleNode->nodeValue);
foreach ($doc->getElementsByTagName('p') as $paragraphNode) {
var_dump($paragraphNode->nodeValue);
}
Bonne journée,
Bonjour,
Tu peux essayer de voir ce que ça donne avec cette expression régulière:
Par contre pour le Campus, l'expression va retourner 'de Paris', il y aura un petit traitement à faire pour retirer "de ".
Sinon voila un site pour tester les expressions:
https://regex101.com/
Tu peux essayer de voir ce que ça donne avec cette expression régulière:
$re = '/<h1>(.*)<\/h1>.*\n*<p>Promotion:(.*)<\/p>.*\n*<p>Campus(.*)<\/p>/m';
Par contre pour le Campus, l'expression va retourner 'de Paris', il y aura un petit traitement à faire pour retirer "de ".
Sinon voila un site pour tester les expressions:
https://regex101.com/