Regex geeft onjuiste matches? ( pattern is GOED )
beste mensen!
ik wil wat html opschonen, en wat links indexeren.
nu heb ik met 'the regex coach' een regular expression gemaakt, die precies doet wat ik wil.
nu alleen heb ik een probleem met de uitvoer in php.
als iemand suggesties heb, hoor ik het graag.
het script zou de volgende 2 links als uitkomst geven
<a href=http://blablabla.com class=topstory>linktitel1</a> en <a href=http://blablabla.com class=topstory>linktitel2</a>
helaas doetie dat niet en geeft alle links in 1 string terug.
wat doe ik verkeerd?
------------------------------------------------------------------------------------
$html bevat:
<a href=http://blablabla.com><img src=http://blablabla.jpg width=130 height=86 align=left border=1></a>
<a href=http://blablabla.com class=topstory>linktitel1</a>
<a href=http://blablabla.com><img src=http://blablabla.jpg width=100 height=129 align=left border=1></a>
<a href=http://blablabla.com class=topstory>linktitel2</a>
code:
preg_match_all("/(<([\w]+)[^>]*[topstory]>)(.*)(<\/\\2>)/", $html, $matches);
$linkcount=(count($matches[0]));
echo "<br>link count=".$linkcount;
for ($i=0; $i< $linkcount; $i++) {
echo "<BR><textarea cols=100 rows=5 name='textarea'>";
echo $matches[0][$i];
echo "</textarea><hr>";
}
---------------------------------------------------------------------------------------
ik wil wat html opschonen, en wat links indexeren.
nu heb ik met 'the regex coach' een regular expression gemaakt, die precies doet wat ik wil.
nu alleen heb ik een probleem met de uitvoer in php.
als iemand suggesties heb, hoor ik het graag.
het script zou de volgende 2 links als uitkomst geven
<a href=http://blablabla.com class=topstory>linktitel1</a> en <a href=http://blablabla.com class=topstory>linktitel2</a>
helaas doetie dat niet en geeft alle links in 1 string terug.
wat doe ik verkeerd?
------------------------------------------------------------------------------------
$html bevat:
<a href=http://blablabla.com><img src=http://blablabla.jpg width=130 height=86 align=left border=1></a>
<a href=http://blablabla.com class=topstory>linktitel1</a>
<a href=http://blablabla.com><img src=http://blablabla.jpg width=100 height=129 align=left border=1></a>
<a href=http://blablabla.com class=topstory>linktitel2</a>
code:
preg_match_all("/(<([\w]+)[^>]*[topstory]>)(.*)(<\/\\2>)/", $html, $matches);
$linkcount=(count($matches[0]));
echo "<br>link count=".$linkcount;
for ($i=0; $i< $linkcount; $i++) {
echo "<BR><textarea cols=100 rows=5 name='textarea'>";
echo $matches[0][$i];
echo "</textarea><hr>";
}
---------------------------------------------------------------------------------------
Er zijn nog geen reacties op dit bericht.