我需要一些帮助在PHP中编写正则表达式模式。我需要获取一个包含HTML的字符串,找到包含LOCAL href的所有锚标签并删除标签,同时将文本保留在标签内。
示例:
<a href="/link1.html">Link 1</a>
<a href="../link2.html">Link 2</a>
<a href="http://www.localdomain.com/link3.html">Link 3</a>
应该成为:
Link 1
Link 2
Link 3
编辑: 我正在寻找这样的东西:
function remove_internal_links($content) {
$pattern = '/<a href="([^"])/';
$content = preg_replace($pattern, '\\1', $content);
}
我需要帮助(显然)是$ pattern。
谢谢!
答案 0 :(得分:0)
你可以通过以下方式提取你想要的部分:
>[^<]*
或用“”替换你不想要的东西:
的replaceAll
<[^>]*>
答案 1 :(得分:0)
您可以使用某些第三方库来解析html,如PHP Simple HTML DOM Parser
// Create DOM from URL or file
$html = file_get_html('http://www.google.com/');
// Find all links
foreach($html->find('a') as $element)
if($element->href ...);