我需要你的帮助......
我有一个函数来操作HTML元素来使用DOM解析来更改图像URL。我的功能正常。这是我的代码:
//Update image src with new src
function upd_img_src_in_html($html_src='', $new_src='')
{
if($html_src == '' || $new_src == ''):
return '';
endif;
$xml = new DOMDocument();
$xml->loadHTML($html_src, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
$imgNodes = $xml->getElementsByTagName('img');
for ($i = $imgNodes->length - 1; $i >= 0; $i--) {
$imgNode = $imgNodes->item($i);
$image_file_names = pathinfo($imgNode->getAttribute('src'), PATHINFO_BASENAME);
if(!empty($image_file_names)):
$imgNode->setAttribute('src', $new_src.$image_file_names);
$imgNode->setAttribute('style', 'max-width:90%; margin-left:auto; margin-right:auto;');
endif;
}
return html_entity_decode($xml->saveHTML());
}
然而,在我完成此功能后,出现了很多问题。
否1:result_box
已在实体第1行中定义
没有。 2:意外的行标记..
我无法控制$html_src=''
的所有输入以使其顺利运行。我已经尝试过一些处理问题1的努力,但仍然没有成功。例如,我使用libxml_use_internal_errors()
但仍然出错。
第二个问题我无法克服它。是否只是处理更改图像src而不是使用DOMDocument()
?
专家的答案真的需要在这里。请给我一些如何处理这些问题的建议。
谢谢..