Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.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 从字符串中删除所有(如果没有英文)_Php - Fatal编程技术网

Php 从字符串中删除所有(如果没有英文)

Php 从字符串中删除所有(如果没有英文),php,Php,我有一个字符串不包含英语: អត���រាប���រូរប���រាក���ថ���ង���ទី 03-06-2011 ម������ង 07:30 នាទី រូបិយប���ឞ���ឞ​ អត���រា​ ទិញចូល លក���ច���ញ រូបិយប���ឞ���ឞ​ប���រទ�����​អា�����ីប���រាក���រ���ល (1usd)4,1004,107បាត ថ���ឡង��� (1usd)30.1530.23រុង 任何人都可以告诉我如何删除非英语字符串 也许您可

我有一个字符串不包含英语:

អត���រាប���រូរប���រាក���ថ���ង���ទី 03-06-2011 ម������ង 07:30 នាទី រូបិយប���ឞ���ឞ​ អត���រា​ ទិញចូល លក���ច���ញ រូបិយប���ឞ���ឞ​ប���រទ�����​អា�����ីប���រាក���រ���ល (1usd)4,1004,107បាត ថ���ឡង��� (1usd)30.1530.23រុង 
任何人都可以告诉我如何删除非英语字符串

也许您可以编写允许的字符并使用preg_replace,如下所示:

preg_replace('/[^a-z0-9#\(\),\. ]/i','',$string);
这行吗

preg_replace('/[^\#0-9a-zA-Z\.\,\-\(\): ]+/', '', $string);

如果要删除任何不在ASCII可打印范围内的内容,也不包括制表符、换行符或回车符:

preg_replace('/[^\t\n\r\x20-\x7E]+/', '', $string);

如果即使是基于Unicode的操作系统也不能显示这些字符,我不知道发生了什么。你是想保留字母、数字和某些标点符号吗?你的例子并不完全是“英语”。@DOK我想他打算把它简化成基本的拉丁字母数字,再加上基本的符号……看起来我们彼此很接近——但我不认为你把连字符列为白名单。然而,我们都错过了科隆;我只是编辑了我的答案,把它加进去。@obs:那只是给他举个例子而已。我很确定你明白了,但你想支持你的答案xD@yes123如果我们今天继续这样碰面,那就只能以光剑决斗结束了。D:@新手,太棒了,很高兴认识光剑。不管怎么说,它被称为西部决斗中最快的枪+不管你怎么回答,光剑都是1