Ich habe String wie:Wie bekomme ich img-Tag, ohne es durch DOMDocument :: saveHTML von String zu ändern?
...。すっきりと整理され...のです。<br /><br /><img src="/photo/images/2016/03/25/0_3316.jpg" alt="漢字漢字漢字" /><br /><br />「あのと...
Und ich versuche img-Tag von DOMDocument :: saveHTML zu erhalten:
$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'])));
}
Der Ausgang ist: von der ursprünglichen <img src="/photo/images/2016/03/25/0_3316.jpg" alt="漢字漢字漢字">
Es ist anders string - es gibt keinen SPACE und/vor der schließenden Klammer, es sollte />
statt nur >
haben. Und meine nächste Zeile Code str_replace funktioniert nicht, weil es nicht übereinstimmt.
Vielleicht kann jemand wissen, wie kann ich img-Tag erhalten, wie es in der ursprünglichen Zeichenfolge ist?
Verwandte http://StackOverflow.com/Questions/3145237/Why-doesnt-PHP-Dom-Include-Slash-on-Self-Closing-Tags – Ghost
@Ghost Vielen Dank viel für die Verbindung. – whitesiroi