-1

我需要一些帮助在 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。

谢谢!

4

2 回答 2

0

您可以通过以下方式提取所需的部分:

>[^<]*

或者用“”替换你不想要的东西:

全部替换

<[^>]*>
于 2013-01-10T23:40:04.623 回答
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 ...);
于 2013-01-11T00:03:17.303 回答