Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP mb_strpos不识别版权符号_Php_Strpos_Mbstring - Fatal编程技术网

PHP mb_strpos不识别版权符号

PHP mb_strpos不识别版权符号,php,strpos,mbstring,Php,Strpos,Mbstring,我试图使用mb_strpos PHP函数在某些网页上搜索©符号 $pagecontent = file_get_contents($website_url); if (mb_strpos($pagecontent, $string_to_find) === false) { // String / Content NOT found on page (FAIL) return false;

我试图使用mb_strpos PHP函数在某些网页上搜索©符号

       $pagecontent = file_get_contents($website_url);

        if (mb_strpos($pagecontent, $string_to_find) === false) {

                // String / Content NOT found on page (FAIL)
                return false;

        } else {

                // String / Content FOUND on page (SUCCESS)
                return true;
        }
我会将$website\u url$string\u to\u find“Copyright©”变量传递给函数,但它返回false,即使我知道©存在于网页中。如果我从字符串中删除©字符,则返回true。。所以我猜PHP在寻找©符号时会出现问题


有人能给我指出正确的方向吗?

因为您使用的是
mb\u strpos
我假设您将编码设置为
mb\u internal\u encoding
?因为否则您可以直接使用strpos

那么,网站的编码是什么?你的“内部编码”是什么?我打赌他们不匹配

例如,如果网站采用UTF-8编码,您可以使用

mb_strpos($pagecontent, $string_to_find, 0, "utf-8")
此外,布尔值是值,因此您可以将代码简化为

$pagecontent = file_get_contents($website_url);
return (mb_strpos($pagecontent, $string_to_find) !== false);
完整的解决办法是:

$pagecontent = file_get_contents($website_url);
return (mb_strpos($pagecontent, $string_to_find, 0, "utf-8") !== false);
假设网站使用UTF-8。此外,您必须确保$string\u to\u find具有相同的编码。如果将版权符号作为字符串文字放入代码中(如
“?”
),则源文件也应采用UTF-8编码。在PHP中,字符串在内部只是字节流



其他可能性(我刚刚阅读了上面的评论):该网站包含一个
&副本HTML实体。在这种情况下,您必须搜索
©代替。

是显示版权符号的网站还是显示html实体
©表示版权符号的?你可以通过查看源代码来判断。很多网站也可能使用
©
而不是
。可能还有字符编码问题。您好,它没有使用©;源代码只是按原样显示符号。我的php脚本和网页本身都是UTF8编码的。