【问题标题】:Remove links to urls with certain suffix PHP wildcard删除带有特定后缀 PHP 通配符的 url 链接
【发布时间】:2012-05-17 05:43:46
【问题描述】:

需要复制粘贴一大段文字,而且里面已经填满了

<a href="default.asp?contentID=XXX">xxx</a>

正在寻找一种方法来删除路径为“deafult.asp?..........”的所有链接

确切地说,我使用的是 PHP wordpress。

....让我澄清一下我想删除看起来像这样的链接

<a href="default.asp?contentID=123">example text</a>

在保留“示例文本”的同时,我试图删除链接并保留文本。所以删除<a> 标签和标签内的所有东西,同时留下“示例文本”。但是,我不想删除页面上的每个 <a> 标记。只是指向deafult.asp?contentID=somenumber 的链接。

【问题讨论】:

  • @matthew 我已经按照@msgmash.com 的建议尝试了 preg_replace,但到目前为止还没有运气。我也尝试了一些正则表达式行,但我不熟悉它。

标签: php url hyperlink wildcard


【解决方案1】:

preg_replace 是你的朋友。比如下面的实现你想要的。

$str = "hello <a href='default.asp?contentID=123'>example text</a> bye <a href='/check/default.asp?contentID=456'>example text 2</a>";

$str2 = preg_replace("/<a.*?default.*?>(.*?)<\/a>/","$1",$str);

我相信有人可以建议一个更好的正则表达式,但它可以完成工作。

【讨论】:

  • 为此,我需要手动输入所有链接变体,最后会有一堆不同的数字。如果在其中找到默认单词,有没有办法删除链接?
  • 对我不起作用...也许 wordpress 正在做一些时髦的事情 =/
  • 它使用您提供的示例网址工作,因此您尝试更改的网址可能与您的示例不同
  • @msgmash.com 以下是我从该站点提取的一些 URL。 default.asp?contentID=314 default.asp?contentID=312 default.asp?contentID=315 default.asp?contentID=317 除了最后 3 位数字之外,它们都相同。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-21
  • 2022-06-11
  • 2020-06-29
  • 1970-01-01
相关资源
最近更新 更多