使用PREG_REPLACE替换(&Q;).(&Q;)
我想替换所有的"..."使用preg_REPLACE, 例如:你好……=>您好
我尝试了:
$dir = preg_replace('/.../', '', $dir);
但它不起作用:/
解决方案
dot(.
)是正则表达式中的一个特殊字符,它匹配除换行符以外的任何单个字符(如果指定了PCRE_DOTALL
,则匹配任何字符)。如果确实要匹配文字.
字符,则必须对其进行转义或将其包装在字符类中。
str_replace
:
$dir = str_replace('...', '', $dir);
还请注意,ahorizontal ellipsis(…
)是来自三个句点(...
)的单独的Unicode字符。如果您还需要处理这些代码,那么就有点麻烦了,因为PHP并不提供真正的Unicode支持。具体如何处理它取决于$dir
的编码,但假设它是UTF-8编码的,这将删除任何水平省略号字符(xE2x80xA6
是u2026
的UTF-8编码形式):
$dir = str_replace("xE2x80xA6", '', $dir);
相关文章