Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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,我正在做一个简单的搜索输入。它按空间分割术语,效果很好。但是,它不能识别其他语言空间 我想将其他语言空间替换为标准化空间 例如 $pattern = array( //insert other language space codes here (I don't know what they are or how to find them) ); $replacement = ' '; $string = "日本語 の スペース です"; $cleaned

我正在做一个简单的搜索输入。它按空间分割术语,效果很好。但是,它不能识别其他语言空间

我想将其他语言空间替换为标准化空间

例如

$pattern       = array(
   //insert other language space codes here (I don't know what they are or how to find them) 
);
$replacement   = ' ';
$string        = "日本語 の スペース です";

$cleaned = preg_replace($pattern, $replacement, $string);

在模式中使用
u
修饰符以及将匹配任何空格字符的
\s
转义序列。这看起来像这样(使用您的代码):

输出:

string(30) "日本語のスペースです"
发件人:

u(PCRE\u UTF8)

此修饰符打开与Perl不兼容的PCRE的附加功能。模式和主题字符串被视为UTF-8。此修饰符可从Unix上的PHP4.1.0或更高版本以及win32上的PHP4.2.3获得。从PHP4.3.5开始检查模式和主题的UTF-8有效性。无效的主题将导致preg_*函数不匹配;无效模式将触发级别E_警告错误。自PHP 5.3.4(分别为PCRE 7.3 2007-08-28)以来,五个和六个八位组UTF-8序列被视为无效;以前,这些被认为是有效的UTF-8


您是否尝试过
preg\u replace('/\s/','',$string)
?也许正则表达式会掌握其他语言spaces@sjagr不幸的是,它没有抓住它。如果我输入特定的空格,它将捕获空格。在这期间我可能会这么做。
string(30) "日本語のスペースです"