使用PREG_REPLACE替换(&Q;).(&Q;) [英] Using Preg_replace for "..."

查看:28
本文介绍了使用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编码的,这将删除任何水平省略号字符(xE2x80xA6u2026的UTF-8编码形式):

$dir = str_replace("xE2x80xA6", '', $dir);

这篇关于使用PREG_REPLACE替换(&Q;).(&Q;)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆