需要有关 php 中的正则表达式替换的帮助
我有一个包含此模式链接的字符串:
<a href="http://randomurl.com/random_string;url=http://anotherrandomurl.com/">xxxx</a>
我想删除“http://xxx.xxx.xxx/random_string;url=”并保留字符串的其余部分,留在最后
<a href="http://anotherrandomurl.com/">xxxx</a>
有人可以帮忙吗?
i have a string which includes links of this pattern:
<a href="http://randomurl.com/random_string;url=http://anotherrandomurl.com/">xxxx</a>
i want to remove "http://xxx.xxx.xxx/random_string;url=" and keep the rest of the string, leaving at the end
<a href="http://anotherrandomurl.com/">xxxx</a>
Can anyone help please ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用:
Use:
有多种方法可以实现您想要的结果。
regex
的替代方法是使用 strpos 并删除这些字符以及前面的字符。There are multiple methods for achieving your desired result. An alternative from
regex
would be to find the occurence ofurl=
using strpos and remove those characters and the preceeding characters as well.这比你想象的要棘手,我敦促你 避免使用正则表达式。
相反,您应该使用 HTML 解析器查找文档中的所有
标记,然后在
;url=
上拆分它们的href
属性并只保留最后一部分。但是,如果您必须使用正则表达式,则以下内容应该适用于大多数格式良好的 HTML:
说明:
This is trickier than you think, and I urge you to avoid using regex for it.
Instead, you should use an HTML parser to find all
<a>
tags in the document, then split theirhref
attributes on;url=
and keep only the last part.However, if you must use a regex, the following should work for most well-formed HTML:
Explanation: