php dom 扩展,PHP DOM函数添加额外的

我使用以下功能根据设备向桌面和移动用户显示不同的图像。

我的index.php文件

Testing Page

define("DEVICE", "desktop");

ob_start();

?>

<?php echo 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.' . '
'?>

<?php echo 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.' . '
'?>

<?php echo 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.' . '
'?>

<?php echo 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.' . '
'?>

<?php echo 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.' . '
'?>

<?php echo 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.' . '
'?>

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

blog-1

blog-2

blog-3

// Assign bufferred content to a variable for further processing

$content = ob_get_clean();

// Device specific images

function selectPaths($tag){

// If paths is wrapped in

 or  tags

if($tag->nodeName=="pre" || $tag->nodeName=="code"){

return;

// If not wrapped witihn

 or  tags

} elseif($tag->nodeName=="img"){

// Replace device specific path

$tag->attributes->getNamedItem("src")->nodeValue=str_replace('desktop-img', DEVICE . '-img',$tag->attributes->getNamedItem("src")->nodeValue);

} elseif($tag->hasChildNodes()){

foreach($tag->childNodes as $child){

selectPaths($child);

}

}

}

function deviceImages($content){

$dom=new DOMDocument;

$dom->preserveWhiteSpace=true;

libxml_use_internal_errors(true);

$dom->loadHTML($content);

libxml_clear_errors();

$root=$dom->documentElement;

selectPaths($root);

$dom->formatOutput=false;

//Assign to variable

$content = $dom->saveHTML($root);

return $content;

}

$content = deviceImages ($content);

?>

我的挑战:

此功能将

标记以及额外的

标记添加到我的输出中。

我的输出图像

cb7c3b3b2b98010c08f08ef94323d277.png

我的输出源代码

Testing Page

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

blog-1blog-2blog-3

我的输出源代码图像

b169bf69a479e4708f5067d2aea0a62c.png

我的问题:

如何避免此

标签?

更新

根据@Aknosis关于
标签的建议进行更新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值