用Dom文档PHP替换元素
我加载了一个包含PHP Dom文档的html页面:用Dom文档PHP替换元素,php,dom,domdocument,Php,Dom,Domdocument,我加载了一个包含PHP Dom文档的html页面: $doc = new DOMDocument(); @$doc->loadHTMLFile($url); 我在我的页面中搜索所有a元素,如果他们意识到我的状况,我需要替换,例如,我的链接很漂亮 这里是我的循环: $liens = $div->getElementsByTagName('a'); foreach($liens as $lien){ if($lien->hasAttribute('href')){
$doc = new DOMDocument();
@$doc->loadHTMLFile($url);
我在我的页面中搜索所有a元素,如果他们意识到我的状况,我需要替换,例如,我的链接很漂亮
这里是我的循环:
$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++;
}
}
你有什么想法吗?建议?谢谢:每次我需要用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;
也可以通过以下方式完成:
$sText = '<a href="asdasdasd">Stackoverflow</a>';
$sText = preg_replace( '/<a.*>(.*)<\/a>/', '$1', $sText );
echo $sText;