我的字符串如下:
...。すっきりと整理され...のです。<br /><br /><img src="/photo/images/2016/03/25/0_3316.jpg" alt="漢字漢字漢字" /><br /><br />「あのと...
我正试图通过DOMDocument :: saveHTML获取img标签:
$topic_conv = mb_convert_encoding(htmlspecialchars_decode($topic['Topic']['body']), 'HTML-ENTITIES', 'UTF-8');
$doc->loadHTML($topic_conv);
$img_tags = $doc->getElementsByTagName('img');
foreach ($img_tags as $tag) {
$img_alt = $tag->getAttribute('alt');
if (empty($img_alt)) continue;
$img = $doc->saveHTML($tag);
var_dump($img);
str_replace($img, $img . "<span style='{$img_style_caption}'>" . $img_alt . "</span>", htmlspecialchars_decode($topic['Topic']['body'])));
}
输出为:<img src="/photo/images/2016/03/25/0_3316.jpg" alt="漢字漢字漢字">
它与原始字符串不同 - 在结束括号之前没有空格和/,它应该有/>
而不是>
。
我的下一行代码 str_replace 不起作用,因为它不匹配。
也许,有人知道我怎样才能获得原始字符串中的img标签?
答案 0 :(得分:0)
如果您仍然需要它,请尝试这样:
str_replace($img, $img . "<span style='{$img_style_caption}'>" . $img_alt . " /" . "</span>", htmlspecialchars_decode($topic['Topic']['body'])));
PS:代码来自我的头脑(未经测试)。如果有任何问题,请告诉我......