0

我用 PHP Dom Document 加载一个 html 页面:

$doc = new DOMDocument();
@$doc->loadHTMLFile($url);

我在我的页面中搜索所有元素,如果他们意识到我的情况,我需要替换"a"例如<a href="blablablabla">My link is beautiful</a>My link is beautiful

这是我的循环:

$liens = $div->getElementsByTagName('a');
foreach($liens as $lien){
    if($lien->hasAttribute('href')){
        if (preg_match("/metz2/i", $lien->getAttribute('href'))) {
        //HERE I NEED TO REPLACE </a>           
        }
        $cpt++;
    }
}

你有什么想法 ?建议?谢谢 :)

4

2 回答 2

0

每次我需要用 PHP 管理 DOM 时,我都会使用一个名为PHP Simple HTLM DOM parser 的框架。(链接在这里

它非常易于使用,这样的东西可能对您有用:

// Create DOM from URL or file
$html = file_get_html('http://www.page.com/');

// Find all links 
foreach($html->find('a') as $element) {
    //Do your custom logic here if you need it, for example this extracts the inner contents of the a-tag, and puts it freely.
    $inner = $element->innertext;
    $element->outertext($inner);
}

//To echo modified html again:
echo $html;
于 2012-12-05T09:59:34.640 回答
-2

也可以使用preg_replace来完成:

$sText = '<a href="asdasdasd">Stackoverflow</a>';

$sText = preg_replace( '/<a.*>(.*)<\/a>/',  '$1', $sText );

echo $sText;
于 2012-12-05T10:07:26.693 回答