Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.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正则表达式字符编码问题 我的正则表达式不会考虑重音字符,因此在查找含有u,^,or或胡字符的单词时找不到任何匹配。_Php_Regex_Preg Match - Fatal编程技术网

Php正则表达式字符编码问题 我的正则表达式不会考虑重音字符,因此在查找含有u,^,or或胡字符的单词时找不到任何匹配。

Php正则表达式字符编码问题 我的正则表达式不会考虑重音字符,因此在查找含有u,^,or或胡字符的单词时找不到任何匹配。,php,regex,preg-match,Php,Regex,Preg Match,$data是使用strip_标记从HTML标记中剥离出来的HTML数据,包含通过CURL从网站加载的带有u、õ、ö和ä字符的单词,字符编码为UTF-8(返回的标题告诉我) 我已尝试使用以下内容(也使用“ISO-8859-1”): 或: 尚未成功。确保您的PHP源文件也是UTF-8编码的 例如,如果是ISO-8859-1,preg_match指令中的ü将与UTF-8数据中的ü不同。确保PHP源文件也是UTF-8编码的 例如,如果是ISO-8859-1,preg_match指令中的ü将与UTF-8数

$data是使用strip_标记从HTML标记中剥离出来的HTML数据,包含通过CURL从网站加载的带有u、õ、ö和ä字符的单词,字符编码为UTF-8(返回的标题告诉我)

我已尝试使用以下内容(也使用“ISO-8859-1”):

或:


尚未成功。

确保您的PHP源文件也是UTF-8编码的


例如,如果是ISO-8859-1,preg_match指令中的
ü
将与UTF-8数据中的
ü
不同。

确保PHP源文件也是UTF-8编码的


例如,如果是ISO-8859-1,preg_match指令中的
ü
将与UTF-8数据中的
ü
是不同的字符。

您应该告诉PRCE您正在使用UTF-8,这是通过添加
u
修饰符->
'/u'
完成的。但如果可能,不要将这些字符直接放入源代码中。如果您更改(或者您的编辑器将更改)文件的编码,您的代码将停止工作,并且跟踪此代码将非常困难。我建议,不要直接使用
'/ü/'
用代码替换有问题的字符:
'/\x{c3bc}/u'
-0xc3bc是您的字母。

您应该告诉PRCE您正在使用UTF-8,这是通过添加
u
修饰符来完成的。但如果可能,不要将这些字符直接放入源代码中。如果您更改(或者您的编辑器将更改)文件的编码,您的代码将停止工作,并且跟踪此代码将非常困难。我建议,不要直接使用
'/ü/'
用代码替换有问题的字符:
'/\x{c3bc}/u'
-0xc3bc是您的字母。

可能会使用这样的东西:preg_匹配('/ü/u',$data,$matches)?可能会使用这样的东西:preg_匹配('/ü/u',$data,$matches)?我用mb_detect_编码检测$data编码,它显示UTF-8。Php文件也用UTF-8编码。当我尝试查找preg_match('/\x{c3bc}/u',$data,$matches)时,没有找到匹配项,尽管文本中有100%的匹配项。使用/\x{c3bc}/u不会给我任何匹配项来查找编码为UTF-8的字符串中的字母u。我使用mb_detect_编码检测$data编码,它显示UTF-8。Php文件也用UTF-8编码。当我尝试查找preg_match('/\x{c3bc}/u',$data,$matches)时,没有找到匹配项,尽管文本中有100%的匹配项/u没有给我任何匹配项来查找编码为UTF-8的字符串中的字母u。看起来Eclipse根本没有将我的文件转换为UTF-8,当我使用Notepad++时,事情变得更好了。看起来Eclipse根本没有将我的文件转换为UTF-8,当我使用Notepad++时,事情变得更好了。
$data = strip_tags( curl_exec('my_website_url') );
$match = preg_match( '/ü/' , $data , $matches );
mb_internal_encoding("UTF-8");
mb_regex_encoding('UTF-8');
$data = utf8_decode($data)