PHP仅检测1个或多个unicode空格

时间:2013-12-20 16:44:52

标签: php unicode preg-match

我徒劳无功地找到了解决这个问题的方法。我在网页中有一个可编辑字段,其中包含用户输入的空间。当我复制空间并将其输入一个名为IVI32的程序时,我想你会调用一个Unicode文本程序,我得到以下信息。

空格字符定义为FFFE2000。我需要检测此字段何时具有一个或多个这些空格而不是其他内容。我用preg_match尝试了以下内容:

'/\s+/u'
'/^[0 :-]+$/ '
'/\A\s*\z/'

没有任何作用,我完全被难倒了。一些Unicode专家的帮助将非常感谢。

3 个答案:

答案 0 :(得分:1)

我的代码中出现了一个错误,导致无法正常工作(没有时间关闭的产品!)。这对于可能想要检测元素是否仅包含无法通过php trim()消除的空格的其他任何人都有效;

if(!preg_match('/\\s/', $test_string)):-do something-
if(!preg_match('/\s+/u', $test_string)):-do something-
if(!preg_match('/[\pZ\pC]+/u', $test_string)):-do something-

对于任何有兴趣的人,在句子结束后立即粘贴该空间。

答案 1 :(得分:0)

这会有用吗?

preg_match('/^ +$/', $subject); 

匹配一个或多个空格?因为\ s也会匹配不间断的空格,制表符和换行符。

答案 2 :(得分:0)

尝试使用:

/\p{WhiteSpace}/