在外部页面中查找特定单词

时间:2011-10-21 11:10:09

标签: php dom

如何使用php在外部页面中查找特定单词? (dom或pregmatch,还是其他什么?)

示例在foo.com源代码中:

  

span name =“abcd”

我想检查abcd这个词是否在php中的foo.com

5 个答案:

答案 0 :(得分:1)

if(preg_match('/span\s+name\=\"abcd\"/i', $str)) echo 'exists!';

答案 1 :(得分:1)

$v = file_get_contents("http://foo.com");
echo substr_count($v, 'abcd'); // number of occurences

//or single match

echo substr_count($v, ' abcd ');

答案 2 :(得分:1)

检查是否存在字符串:

<?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

}

?>

答案 3 :(得分:0)

以下是查找特定单词的其他几种方法

<?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";
?>

答案 4 :(得分:0)

$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";
    }