如何在HTML中查找和删除链接?
$html = '<p><a href="javascript:doThis('Test Title 1')">Test Title 1</a></p>';
$html .= '<p><a href="javascript:doThis('Test Title 2')">Test Title 2</a></p>';
$html .= '<p><a href="javascript:doThis('Test Title 3')">Test Title 3</a></p>';
$match = '<a href="javascript:doThis('Test Title 2')">';
我想移除锚点,但显示文本。见下文。
测试标题2
我以前从未使用过正则表达式,但也许我也可以避免它。如果我不清楚,请告诉我。
谢谢
标记
编辑:这不是客户端的事情。我不能使用javascript来做这件事。我有一个自定义的CMS,并希望编辑存储在数据库中的HTML。
发布于 2009-11-23 17:11:26
你可以看看Simple HTML DOM是否成功了。
发布于 2009-11-23 17:07:07
你可以试着做最简单的事情:
echo strip_tags($html, '<p>');
这将剥离除以下内容的所有标记
如果你真的喜欢regexp:
echo preg_replace('=</?a(\s[^>]*)?>=ims', '', $html);
编辑:
删除-标签和周围的标签(代码变得混乱,不能处理损坏的(X)HTML):
echo preg_replace('=<([a-z]+)[^>]*>\s*<a(\s[^>]*)?>(.*?)</a>\s*</\\1>=ims', '$3', $html);
但是,如果你的问题很复杂,我建议你试试xpath。
发布于 2009-11-23 17:07:58
您可能会有一些带有Beautiful Soup - http://www.crummy.com/software/BeautifulSoup/ (Python HTML解析/操纵API)的joy
https://stackoverflow.com/questions/1784507
复制