首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >eregi_replace到preg_replace

eregi_replace到preg_replace
EN

Stack Overflow用户
提问于 2012-07-19 19:12:32
回答 1查看 195关注 0票数 0

我正在尝试用preg_replace()来修复不推荐使用的函数eregi_replace()。

代码语言:javascript
复制
$text = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_+.~#?&//=]+)', '<a target="_blank" class="clickable" href="\1">\1</a>', $text);

$text = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_+.~#?&//=]+)', '\1<a target="_blank" class="clickable" href="http://\2">\2</a>', $text);

我怎样才能让它们与preg_replace()一起工作?我在这里太头疼了。

EN

回答 1

Stack Overflow用户

发布于 2012-07-19 20:41:41

您只需更改函数名并将表达式封装在分隔符中即可。对于不区分大小写的函数eregi()eregi_replace(),您可以在最后一个分隔符之后放置一个i修饰符:

代码语言:javascript
复制
ereg('...', foo) // preg_match('/.../', foo)
eregi('...', foo) // preg_match('/.../i', foo)
ereg_replace('...', foo) // preg_replace('/.../', foo)
eregi_replace('...', foo) // preg_replace('/.../i', foo)

我在这里使用了/分隔符,但您需要使用最有意义的分隔符,并且不会出现在表达式本身中。

绝大多数(如果不是所有的)常见表达式将是直接的结转,不需要转换。我已经转换了几个大型项目,从来没有遇到过必须实际修改表达式的情况,但这并不是说没有什么不同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11559623

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档