regex php - trouver les choses dans le div avec l'ID de

Je suis sûr que c'est facile, et d'autant que j'ai googlé et recherche ici sur ce que je n'arrive pas à comprendre quel est le problème avec cela. J'ai d'autres zones sur cette page où j'utilise des expressions similaires qui renvoient exactement ce que je veux.

Cependant, je ne peux pas obtenir ce bit particulier pour revenir à ce que je veux, donc peut-être que quelqu'un pourra m'aider.

J'ai un div avec l'ID de l'utilisateur "-sous-commhome" - j'ai envie de sortir le texte à partir de l'intérieur de ce div. Le texte est entouré par les balises, mais je peux facilement utiliser strip_tags pour obtenir ces partis. Je suis en utilisant les regex pour essayer de l'extraire les données.

Voici mon code:

$intro = "<div id="user-sub-summary">Summary</div>
<div id="user-sub-commhome"><em>Commercial</em></div>
<div id="whatever">whatever</div>";

$regex = '#\<div id="user-sub-commhome"\>(.+?)\<\/div\>#s';
preg_match($regex, $intro, $matches);
$match = $matches[0];
echo $match;

J'ai essayé de changer les choses, sans succès, rien ne semble fonctionner à l'écho rien. J'espère donc que peu de pouvoir que l'être qui est beaucoup plus expérimenté avec la regex peut vous aider.

Vous ne savez pas si c'est juste un exemple de code, mais votre $intro variable n'est pas correct, puisqu'il n'est pas correctement échappé.
Je suggère que vous essayez d'utiliser un analyseur html au lieu de regex pour cette tâche. Voir stackoverflow.com/q/1732348/159388.
Oui, c'est juste un exemple de code. $intro est en fait un gros morceau de html, je viens de donner comme un exemple pour que les gens puissent voir de quoi je parlais un peu plus clair.
Votre modèle fonctionne très bien avec le HTML de ne pas prendre en compte les erreurs de syntaxe PHP remarqué par Devator. Échapper les guillemets doubles.

OriginalL'auteur Hanny | 2011-08-16