Bonjour,
Je viens chercher un peu d'aide ici parce qu'avec l'ami Google et les tuto j'ai essayé mais je suis un peu perdu.
Je m'y connais pas du tout dans le Regex donc je rame pas mal.
Je préviens déjà c'est possible que je me trompe dans l'approche du sujet ^^.
En faite je dois dans une chaîne compter le nombre de balises html ouvrantes et le nombre de balises html fermantes.
Vu que je veux pas partir direct dans du complexe, j'ai essayé de faire une regex pour capter les balises ouvrantes sans qu'il y ai de classes ou autres défini.
Par exemple capter un simple <div>. J'ai donc écrit ce Regex
Si je me trompe pas, je devrai capter dans ma chaine une sous chaine qui commence par "<" suivit de plusieurs caractères compris entre a et z et A et Z, puis qui se termine par >
Mon test complet représente ça
1 2 3 4 5 6 7 8
|
$test = "<div>
aa
<p>zefiomf </p>
</div>";
$out = array();
preg_match_all("#<([a-z A-Z]+)>#", $test, $out,PREG_SET_ORDER);
echo"<pre>";print_r($out);echo"</pre>"; |
J'ai bien un tableau qui me sort div et p.
Par contre j'arrive pas à trouver ce que je dois ajouter pour pouvoir prendre en compte les balises du style
<div class="blabla"></div>
ou encore
<a href="http://test.com"></a>
Et le dernier point sur lequel j'aurai besoin d'un peu d'aide.
Je comptais utilisais le retour de ce tableau et faire un count pour connaitre le nombre de balises ouvrantes, mais les balises comme img vont être compté dans les balises ouvrantes non? Si c'est le cas il est possible de faire en sorte que les balises comme img qui n'ont pas besoin d'être fermée ne soient pas prises en compte?
Partager