使用Preg_replace“...”

时间:2014-05-03 00:22:30

标签: php preg-replace

我想用preg_replace替换所有“...”, 示例:Hello ... =>你好

我尝试过:

$dir = preg_replace('/.../', '', $dir);

但它不起作用:/

1 个答案:

答案 0 :(得分:2)

dot.)是正则表达式中的一个特殊字符,它匹配除换行符之外的任何单个字符(如果指定了PCRE_DOTALL,则匹配任何字符)。如果你真的想要匹配一个文字.字符,你必须将其转义或将其包装在一个字符类中。

但是,对于这么简单的事情,不需要正则表达式。只需使用str_replace

$dir = str_replace('...', '', $dir);

另请注意,horizontal ellipsis)是三个句点(...)中的单独Unicode字符。如果你还需要处理这些,那就有点棘手,因为PHP并不能提供真正的Unicode支持。具体如何处理它取决于$dir的编码,但假设它是UTF-8编码,这将删除任何水平省略号字符(\xE2\x80\xA6是{的{UTF-8编码形式} {1}}):

\u2026