Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.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 删除utf中的垃圾字符_Php_Regex_Arabic - Fatal编程技术网

Php 删除utf中的垃圾字符

Php 删除utf中的垃圾字符,php,regex,arabic,Php,Regex,Arabic,我使用utf8格式将所有数据存储到mysql中。在将数据插入数据库之前,我需要清除带有不需要的字符的字符串。字符串采用utf8格式。我知道如何使用正则表达式和字符串替换,但不知道如何使用阿拉伯语字符 需要清理的示例字符串:”████ .. الــقــوانين الجديـــدة في قســـم الـعنايـ"; 谢谢你好的。如前所述,如果可以为需要替换的字符指定unicode字符范围,则可以使用正则表达式将字符替换为空字符串 unicode字符在表达式(PHP)中指定为\x{FF

我使用utf8格式将所有数据存储到mysql中。在将数据插入数据库之前,我需要清除带有不需要的字符的字符串。字符串采用utf8格式。我知道如何使用正则表达式和字符串替换,但不知道如何使用阿拉伯语字符

需要清理的示例字符串:”████ .. الــقــوانين الجديـــدة في قســـم الـعنايـ";

谢谢你

好的。如前所述,如果可以为需要替换的字符指定unicode字符范围,则可以使用正则表达式将字符替换为空字符串

unicode字符在表达式(PHP)中指定为
\x{FFFF}
。此外,您必须设置模式,使PHP将模式视为UTF8

所以最后,你会得到这样的结果:

preg_replace('/[\x{FFFF}-\x{FFFF}]+/u','',$string);
在哪里

  • /…/u
    是分隔符加上修饰符
  • […]+
    是一个字符类加上量词,这意味着在一次或多次内匹配这些字符中的任何一个
  • \x{FFFF}-\x{FFFF}
    是一个unicode字符范围(显然,您必须提供正确的字符编码点/编号)
您还可以使用
^
对组进行否定您可以指定要保留的范围:

preg_replace('/[^\x{FFFF}-\x{FFFF}]+/u','',$string);

更多信息:

    • 好的。如前所述,如果可以为需要替换的字符指定unicode字符范围,则可以使用正则表达式将字符替换为空字符串

      unicode字符在表达式(PHP)中指定为
      \x{FFFF}
      。此外,您必须设置模式,使PHP将模式视为UTF8

      所以最后,你会得到这样的结果:

      preg_replace('/[\x{FFFF}-\x{FFFF}]+/u','',$string);
      
      在哪里

      • /…/u
        是分隔符加上修饰符
      • […]+
        是一个字符类加上量词,这意味着在一次或多次内匹配这些字符中的任何一个
      • \x{FFFF}-\x{FFFF}
        是一个unicode字符范围(显然,您必须提供正确的字符编码点/编号)
      您还可以使用
      ^
      对组进行否定您可以指定要保留的范围:

      preg_replace('/[^\x{FFFF}-\x{FFFF}]+/u','',$string);
      

      更多信息:


      有需要的阿拉伯字符吗?Unicode为阿拉伯语分配了一些范围;你能利用这些范围吗?@Jonathan Leffler-我的意思是“不需要的角色”。固定的是的,但在我检查字母是否在某个范围内之前,如何获取字符串中字母的unicode?伊姆兰:你不需要它。只需指定不需要的范围。正则表达式可以是(大写):用空字符串替换此范围内的所有字符。正则表达式引擎计算出字符是否在范围内。@Felix Kling-那么如何指定unicode的范围?举个例子就好了,我可以很容易地找到范围。@Felix:把你的评论写进答案。请注意,“阿拉伯语补充”范围为U+0750..U+077F,阿拉伯语表示形式A范围为U+FB50..U+FC3F,阿拉伯语表示形式B范围为U+FE70..U+FEFC。你可以在网站上找到这些信息。我在一两年前下载了玩这个游戏的文件。有想要的阿拉伯字符吗?Unicode为阿拉伯语分配了一些范围;你能利用这些范围吗?@Jonathan Leffler-我的意思是“不需要的角色”。固定的是的,但在我检查字母是否在某个范围内之前,如何获取字符串中字母的unicode?伊姆兰:你不需要它。只需指定不需要的范围。正则表达式可以是(大写):用空字符串替换此范围内的所有字符。正则表达式引擎计算出字符是否在范围内。@Felix Kling-那么如何指定unicode的范围?举个例子就好了,我可以很容易地找到范围。@Felix:把你的评论写进答案。请注意,“阿拉伯语补充”范围为U+0750..U+077F,阿拉伯语表示形式A范围为U+FB50..U+FC3F,阿拉伯语表示形式B范围为U+FE70..U+FEFC。你可以在网站上找到这些信息。我在一两年前下载了玩这个游戏的文件。@Imran:没关系,我只是觉得我刚刚跳上马车,@Jonathan实际上有了正确的想法。。。。但是无论如何:)@Felix-你有必要的PHP知识;我只是开始打球。其余的都是你做的-谢谢。@Jonathan:谢谢你打球:)@Imran:那很好,我只是觉得我刚刚跳上马车,@Jonathan确实有正确的想法。。。。但是无论如何:)@Felix-你有必要的PHP知识;我只是开始打球。其余的都是你做的——谢谢。@Jonathan:谢谢你打球:)