2011-11-02 4 views

Répondre

2

Si vous êtes à la recherche d'un événement d'une chaîne sur la page, vous pouvez utiliser

$str = file_get_contents($url); 
if (strpos($str, $search) !== false) { 
    echo 'Success!'; 
} else { 
    echo 'Fail'; 
} 
+0

Comment pourrais-je aller sur une boucle à travers le contenu de str $ et en comptant le nombre de A, par exemple? –

+1

@Matt, vous n'avez pas besoin d'une boucle car la page entière est chargée en tant que chaîne dans '$ str'. Pour compter les occurrences d'une chaîne dans une autre chaîne, essayez 'substr_count()' (http://php.net/manual/fr/function.substr-count.php). –

+0

brillant. Je vous remercie. –

1

in_array() vérifie si un membre du groupe est égal à votre aiguille.

Il est peu probable que de nombreux sites Web aient une ligne égale à a uniquement. En outre, allow_url_fopen est-il activé?

1

Ce code ne trouvera qu'une ligne ayant la chaîne exacte $search (incluant probablement les espaces). Si vous analysez HTML, vérifiez les classes DOMDocument de PHP. Ou, vous pouvez utiliser une regex pour tirer ce dont vous avez besoin.

0

Comme dit @ Alex, chèque est allow_url_fopen est activé.
Aussi, vous pouvez utiliser strpos pour rechercher la chaîne:

<?php 

$url = "http://www.drudgereport.com"; 

$search = "a"; 
$file_content = file_get_contents($url); 

if (strpos($file_content, $search) !== false) { 
    echo "Success!"; 
} else { 
    echo "Can't find word."; 
} 

?> 
Questions connexes