anna: festgelegte wörter zählen

Beitrag lesen

Hallo Selfhtml forum :)

Ich habe so meine Schwierigkeiten mit php.

ich möchte gern folgendes umsetzen:

über ein script wird nach eingabe einer url ect. ein sitemap xml coe in einer textarea ausgegben.

[PHP]

echo '<textarea style="width:610px;height:1000px" rows="60" cols="75" name="eins">';
echo '<?xml version="1.0" encoding="UTF-8"?>
'.$engine.'
<!--#Generated -->
';

foreach ($links as $var)
{

print "<url>
<loc>$var</loc>
<lastmod>$date</lastmod>
<changefreq>$max_results</changefreq>
<priority>$priority</priority>
</url>
";
}
echo'</urlset>';
echo '</textarea>';

[/PHP]

mein Problem ist für jemandem der etwas mehr als ich von php versteht eher simpel.

Ich möchte gern alle ausgegebenen links welche in <loc></loc> stehen zusammenzählen um somit die Anzahl der ermittelten url`s auszugeben.

wahrscheinlich ist es sinnvoller gleich beim ermitteln der url's diese zu zählen. Aber auch da weiß ich nicht recht weiter.

[PHP]

preg_match('@^(?:http://)?([^/]+)@i',$url, $matches);
$host = $matches[1];

if(strrpos($url, "/") > 10)
$root= substr($url,0,strrpos($url, "/"));
else $root= $url;

//Create an array to save urls
$links=array();

preg_match_all('/<a href="(.*)"/U',$store, $matches, PREG_SET_ORDER);

foreach ($matches as $val)
{

if(strpos($val[1],'#') === FALSE && strpos($val[1],'http://') === FALSE && strpos($val[1],'@') === FALSE)
 if(!in_array(trim($val[1]),$links))
 if(strpos(trim($val[1]),'/') == 0 && strpos(trim($val[1]),'/') !== FALSE)
 $links[]='http://'.$host.trim($val[1]);
 else
 $links[]=''.$root.'/'.trim($val[1]);

}

[/PHP]

Es wäre schön wenn einer von euch php begeisterten einen Anstoß geben könnten.

liebe grüße anna