Compilation failed: invalid UTF-8 string at offset 6 in /tmp/aiezu.com.php on line 2

当我们通过下面代码、使用正则表达式期望将字符串中的非汉字替换为空,这时收到一条警告信息:
<?php
echo preg_replace("#[^\x4e00-\x9fa5]#u", "", '爱E族:aiezu.com');
警告信息:
PHP Warning:  preg_replace(): Compilation failed: invalid UTF-8 string at offset 6 in /tmp/aiezu.com.php on line 2
这时如何解决呢?
 
原来正则表达式中的"\x"后的UTF8编码,必须使用大括号括起来才行,如下:
<?php
echo preg_replace("#[^\x{4e00}-\x{9fa5}]#u", "", '爱E族:aiezu.com');
//输出: 爱族

0 个评论

要回复文章请先登录注册