ik vroeg me af of het mogelijk is om te tellen hoeveel h1 tags er in een string staan en welke informatie hierin staan.


$content = explode('<h1>', $string );
$h1 = explode('</h1>', $content[1] );
echo $h1[0];


Ik doe dit nu zo, alleen is het met deze manier niet mogelijk om te controleren hoeveel h1 tags er zijn (je haalt namelijk alleen de info uit de 1e) en is deze manier nogal load intensief als je een complete pagina opent.

alvast bedankt ;)
groetjes Stefan
Geen idee of dit werkt hoor, even uit m'n hoofd...

<?php
$content = explode('<h1>', $string );
echo 'aantal is: '.count($content).'<br /><br />';
foreach ($content as $h1) {
echo str_replace('</h1>', '', $h1).'<br /><br />';
}
?>
count($h1) ?

En met een for-loop kun je de array uitlezen
<?php
$content = explode('<h1>', $string); // array in de vorm van
// 0 => 'tekst in de h1</h1>tekst tot de volgende h1', 1 => '........'
$count = count($content); // telt alle h1's
?>
Je moet dus gewoon een count op jet $content-array doen.
Hier kan je verder dit op doen:
<?php
foreach($content as $h1)
{
$h1 = explode('</h1>', $h1);
echo $h1[0]; // het deel voor de eindtag '</h1>' echo'en
}
?>
leer xml/xsl en je bent in feite van al dit soort wazige oplossingen verlost
@noppes wie zegt er dan ik geen xml kan?
alleen met xml kom je hier niet uit.
Explode is dus echt de enige manier om de content uit een h1 attribuut te halen?


$content = explode('<h1>', $string );
echo (count($content)-1) 

zijn trouwens alle <h1> attributen
@stefan, je moet lezen, het gaat om de combinatie xml en xsl(t), niet alleen om de xml

Ik kan nog wel andere manieren bedenken dan de explode, met een regexp zal je er in feite ook moeten komen.
ja dacht zelf ook aan een regexp alleen is dat nog niet een sterk punt, xslt ziet er interessant uit (http://www.w3schools.com/xsl) alleen snap ik niet hoe je hiermee dit kan oplossen?

edit ik ben eruit gekomen met: http://txt2re.com/

Reageren