Extraction code source balise

Signaler
Messages postés
5
Date d'inscription
vendredi 7 mai 2010
Statut
Membre
Dernière intervention
11 mai 2010
-
Messages postés
5
Date d'inscription
vendredi 7 mai 2010
Statut
Membre
Dernière intervention
11 mai 2010
-
Bonjour,

Après avoir consulté vos différents codes sources sur le site, pour l'extraction d'un contenu entre des balises, j'en ai retiré le code suivant :

<?php
$html="	<html>
<head>
</head>


Bonjour monsieur
Ca va bien?!

</html>";

$pattern="!
]+)?>(.*)!Ui";
preg_match_all($pattern,$html,$matches);
echo($matches[0][0]);

?>


Cependant, il me reste un problème que je n'arrive pas à résoudre. Ce code fonctionne pour les balises
mais pas avec les balises ou <html>. Autrement dit, je n'arrive pas à récupérer le code source quand d'autres balises sont à l'intérieur.

Merci d'avance de vos réponses.

aliasdidou

9 réponses

Messages postés
194
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
11 juillet 2015

salut
c'est normal puisque le code que t'a mis cherche que le contenu des balise br

]+)?>(.*) pour pouvoir le reutiliser pour les autres balise tu change le br par body ou html etc..
Messages postés
5
Date d'inscription
vendredi 7 mai 2010
Statut
Membre
Dernière intervention
11 mai 2010

Non, c'est indépendant de ça. Désolé, j'aurais du un peu plus préciser. Si j'exécute le code du haut, il me retourne "Bonjour monsieur".

Si j'exécute maintenant le code suivant :

<?php
$html="	<html>

<head>
</head>


Bonjour monsieur
Ca va bien?!

</html>";


$pattern="!]+)?>(.*)!Ui";
preg_match_all($pattern,$html,$matches);
echo($matches[0][0]);

?>


Il ne me retourne rien, alors que j'aimerais avoir "Bonjour monsieur. Ca va bien?!"

Tu situes un peu mieux le problème?
Messages postés
194
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
11 juillet 2015

essaye donc avec sa (.*?)
Messages postés
5
Date d'inscription
vendredi 7 mai 2010
Statut
Membre
Dernière intervention
11 mai 2010

Non, je n'ai toujours rien avec ça...
Messages postés
194
Date d'inscription
dimanche 25 janvier 2004
Statut
Membre
Dernière intervention
11 décembre 2015

Ton Ca va bien?!
n'est pas entre tes balise br no wonder que sa marche po.
Mes ton Ca va bien?! entre br pis sa devrai marcher.
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Salut,


Avec un truc dans le genre peut être :
<?php
$html = "<html>


<head>
</head>


Bonjour monsieur
Ca va bien?!

</html>";

$pattern = '`]*>(.*)`is';

preg_match($pattern, $html, $matches);
echo $matches[1];
?>


Cordialement,

Kohntark -
Messages postés
5
Date d'inscription
vendredi 7 mai 2010
Statut
Membre
Dernière intervention
11 mai 2010

En effet, c'est presque ce que je veux!!
Je suis encore une fois désolé, mais je ne suis pas assez précis.

Avec le dernier code, j'obtiens :

Bonjour monsieur
Ca va bien?!

J'aimerais juste conserver les balises
soit :


Bonjour monsieur
Ca va bien?!

Merci beaucoup pour tout!
Messages postés
3706
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Avec le dernier code, j'obtiens :

Bonjour monsieur
Ca va bien?!


Heu, non, tu obtiens :


Bonjour monsieur
Ca va bien?!

Bien évidemment si tu regardes ce résultat dans un browser tu ne verras pas les balises
puisqu'elles sont interprétées.

Je ne sais pas trop ce que tu cherches à faire mais j'espère que le HTML est invariable car s'il s'agit de parser des pages HTML différentes ça ne fonctionnera pas longtemps en procédant ainsi.

Cordialement,


Kohntark -
Messages postés
5
Date d'inscription
vendredi 7 mai 2010
Statut
Membre
Dernière intervention
11 mai 2010

Très juste!

C'est uniquement pour s'appliquer à des cas très simples.

Merci pour tes réponses!