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) "日本語のスペースです"