我使用以下功能根据设备向桌面和移动用户显示不同的图像。
我的index.php文件
Testing Pagedefine("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.
// 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);
?>
我的挑战:
此功能将
标记以及额外的
标记添加到我的输出中。
我的输出图像
我的输出源代码
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.
我的输出源代码图像
我的问题:
如何避免此
和
标签?
更新
根据@Aknosis关于
标签的建议进行更新。