【发布时间】:2014-03-23 13:13:45
【问题描述】:
我有一个这样的字符串:
Blablabla http://www.soundcloud.com/artist/track
www.facebook.com/page is my page
Try www.youtube.com/watch?v=1234567 for my video
Check http://www.somesite.com/bla.
我想替换 URL 并在用户生成的帖子中插入不同的 wordpress 短代码,自动与视频或 soundcloud 小部件交换 URL,并从所有其他 URL 和电子邮件创建常规链接,如下所示(简化):
Blablabla [soundcloud]www.soundcloud.com/artist/track[/soundcloud]
[facebook]www.facebook.com/page[/facebook] is my page
Try [youtube]www.youtube.com/watch?v=1234567[/youtube] for my video
Check [url]www.somesite.com/bla[/url].
所以我想我需要对字符串运行几个 preg_replace 操作。
在我用 Wordpress 短代码替换 Soundcloud、Facebook 和 Youtube URL 后,我需要在剩余的 URL 上运行 preg_replace,例如 http://www.somesite.com/bla,但由于字符串中仍然可以使用 Facebook/Soundcloud/Youtube 模式(现在在短代码中) 它们将再次被替换为...
[youtube][url]www.youtube.com/watch?v=1234567[/url][/youtube]
我不想要这种行为。我应该是这样的:
[url]www.youtube.com/watch?v=1234567[/url]
这是我的基本正则表达式:
((https?://)(www.)|(https?://)|(www.))[^
我需要替换以 http、https 和 www 开头的 URL
有人有解决办法吗?
问候,
垫子
【问题讨论】:
标签: regex wordpress preg-replace