EisFuX: festgelegte wörter zählen

Beitrag lesen

Hallo anna,

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.

[PHP]

Für PHP-Quelltexte eignet sich [соdе lang=php] am Anfang und [/соdе] am Ende besser.

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);

Sooo, du hast jetzt ein Array $matches. Das enthält hoffentlich alle Links. Die Anzahl der Elemente eines Arrays zählt man in PHP mit count(). Da du preg_match_all() den Parameter PREG_SET_ORDER mitgegeben hast, kannst du einfach

  
$anzahl_der_links = count($matches);  

~~~schreiben. Solltest du mal in die Verlegenheit kommen, PREG\_PATTERN\_ORDER benutzen zu müssen (das ist die Voreinstellung), dann kannst du stattdessen  
~~~php
  
$anzahl_der_links = count($matches[0]);  

~~~benutzen. Es empfiehlt sich aber, probehalber vorher mit print\_r() mal anzuschauen, was denn so in $matches steht.  
  
MffG  
EisFuX

-- 
[Nichts ist dem Zuwachs an Wissen förderlicher als nach einer Antwort korrigiert zu werden.](http://community.de.selfhtml.org/my/zitatesammlung/zitat119)