在 PHP 5.2 中修剪 unicode 空格
2022-08-30 16:57:08
如何修剪第一个空格是0xc2a0不间断空格的 。string(6) " page"
我试过了,.trim()
preg_match('/^\s*(.*)\s*$/u', $key, $m);
另一个问题:如何可靠地复制这些字符?它们似乎被转换为“正常”空间,这使得调试变得困难。
如何修剪第一个空格是0xc2a0不间断空格的 。string(6) " page"
我试过了,.trim()
preg_match('/^\s*(.*)\s*$/u', $key, $m);
另一个问题:如何可靠地复制这些字符?它们似乎被转换为“正常”空间,这使得调试变得困难。
preg_replace('/^[\pZ\pC]+|[\pZ\pC]+$/u','',$str);
PCRE unicode 属性属性可用于实现此目的
这是我玩过的代码,似乎可以做你想做的:
<?php
function unicode_trim ($str) {
return preg_replace('/^[\pZ\pC]+([\PZ\PC]*)[\pZ\pC]+$/u', '$1', $str);
}
$key = chr(0xc2) . chr(0xa0) . '#page#' . chr(0xc2) . chr(0xa0);
var_dump(unicode_trim($key));
结果
[~]> php e.php
string(6) "#page#"
解释:
\p{xx} 具有 xx 属性的字符 \P{xx} 不带 xx 属性的字符
如果 xx 只有一个字符,则可以删除 {},例如 \p{Z} 与 \pZ 相同
Z 代表所有分隔符,C 代表所有“其他”字符(例如控制字符)