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