如何使用php在外部页面中查找特定单词? (dom或pregmatch,还是其他什么?)
示例在foo.com源代码中:
span name =“abcd”
我想检查abcd这个词是否在php中的foo.com
答案 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";
}