preg_replace:使用 % 替换
我正在使用函数 preg_replace 但我不知道如何使其工作,该函数似乎对我不起作用。
我想做的是,如果任何单词包含 %(百分比)字符,则将字符串转换为链接。
例如,如果我有字符串“go to %mysite”,我想将 mysite 单词转换为链接。 我尝试了以下方法......
$data = "go to %mysite";
$result = preg_replace('/(^|[\s\.\,\:\;]+)%([A-Za-z0-9]{1,64})/e',
'\\1%<a href=#>\\2</a>', $data);
但它不起作用。
对此的任何帮助将不胜感激。
谢谢
胡安
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这里的问题是
e
修饰符,它将替换评估为 php 代码,并因致命错误而失败删除
e
属性将输出go to %
如果这是所需的结果,您无需更改任何其他内容。但我认为
preg_replace_callback
是您真正需要的,即:这将导致
转到 %mysite或访问 %google
The problem here is
e
modifier which evaluates the replacement as php code and fails with fatal errorRemoving
e
attribute will outputgo to %<a href=#>mysite</a>
and if it is desired result, you don't have to change anything else.But I think that
preg_replace_callback
is what you really need, ie:that will result in
go to %<a href="http://mysite.com/">mysite</a> or visit %<a href="http://www.google.com/">google</a>