найти конкретное слово на внешней странице - PullRequest
0 голосов
/ 21 октября 2011

Как найти конкретное слово на внешней странице с помощью php?(Дом или pregmatch, или что еще?)

пример в исходном коде foo.com с:

span name = "abcd"

Iхотите проверить, находится ли слово abcd на foo.com в php

Ответы [ 5 ]

1 голос
/ 21 октября 2011
$v = file_get_contents("http://foo.com");
echo substr_count($v, 'abcd'); // number of occurences

//or single match

echo substr_count($v, ' abcd ');
1 голос
/ 21 октября 2011

Чтобы проверить, существует ли строка символов:

<?php

$term = 'abcd';

if ( preg_match("/$term/", $str) ) { 

    // yes it does

}

?>

Чтобы проверить, существует ли эта строка как отдельное слово (т. Е. Находится не в середине большего слова), используйте сопоставители границ слов:

<?php

$term = 'abcd';

if ( preg_match("/\b$term\b/", $str) ) { 

    // yes it does

}

?>

Для поиска без учета регистра добавьте флаг i после последней косой черты в регулярном выражении:

<?php

$term = 'abcd';

if ( preg_match("/\b$term\b/i", $str) ) { 

    // yes it does

}

?>
1 голос
/ 21 октября 2011
if(preg_match('/span\s+name\=\"abcd\"/i', $str)) echo 'exists!';
0 голосов
/ 04 января 2019
$name = 'foo.php';
file_get_contents($name);
$contents=$pattern = preg_quote('abcd', '/');
// finalise the regular expression, matching the whole line
$pattern = "/^.*$pattern.*\$/m";
// search, and store all matching occurences in $matches
if(preg_match_all($pattern, $contents, $matches)){
  echo implode("\n", $matches[0]);
}
else{
echo "not exist word";
    }
0 голосов
/ 21 октября 2011

Вот еще несколько способов найти конкретное слово

<?php
$str = 'span name="abcd"';

if (strstr($str, "abcd")) echo "Found: strstr\n";
if (strpos($str, "abcd")) echo "Found: strpos\n";
if (ereg("abcd", $str)) echo "Found: ereg\n";
if (substr_count($str, 'abcd')) echo "Found: substr_count\n";
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...