【发布时间】:2014-05-25 02:49:50
【问题描述】:
我想删除php中的超链接
这里是html
<a rel="nofollow" href="http://www.clickansave.net/download/somethingelse" title="Download Now" target="_blank"><img src="http://banners.coolmirage.com/download_bt3.png" border="0" alt="Download"></a>
如果在href 中找到clickansave.net,我想删除上面显示的所有内容。出于以下原因,我需要一个使用 preg_replace 而不是 dom 的解决方案:
我知道要删除的 html 的确切结构,并且页面上只有一次出现。在这种情况下,Dom 将是矫枉过正
我尝试了以下
首先我删除了
$input = preg_replace('#<img src="http://banners.coolmirage.com/download_bt3.png" border="0" alt="Download"><\/a>#s', '' , $input,1);
从那里我想到了这个当然不起作用的正则表达式
$input = preg_replace('#<a.*?<img src="http://banners.coolmirage.com/download_bt3.png" border="0" alt="Download"><\/a>#s', '' , $input,1);
【问题讨论】:
-
在什么方面矫枉过正?你能用 DOM 来实现它吗?
-
你试过什么?您似乎只是在要求某人为您编写代码。
-
@Devon 我刚刚添加了我在上面尝试过的内容
-
img标签在你所谓的正则表达式中做了什么? -
@zerkms 我想删除我发布的整个 html,而不仅仅是
href
标签: php regex html-parsing preg-replace