0

我将如何重写这个 DomDocument php 以将我的数组键分配给正确的图像?注意:: $html 或 the_content 中的多个图像。我需要遍历每一个。

这是找到我需要的对齐方式的正则表达式(单词align之后的css类名称的一部分)所以我需要left或right取决于alignleft或alignright的css类

preg_match_all('#align(.*?)(" )#si', '<img class="classone twoclass alignLEFT" src="xxxx" />', $arr, PREG_PATTERN_ORDER);

注意:: 它并不总是 alignleft。它可以是 aligncenter alignnone alignright 或各种其他类名。

我只是不知道如何循环遍历每个图像并将找到的内容实际应用于正确的图像。

<?php

$html = '<img class="" src="xxxx" />adasdasdasd<img class="classone twoclass alignLEFT" src="xxxx" />';

$domdoc = new DOMDocument('');
$domdoc->loadHTML($html);

$xpath = new DOMXpath($domdoc);

$imgs = $xpath->query('//img');

foreach ($imgs as $element) {

    $class = $element->getAttribute('class');

    if (strpos($class, 'alignLEFT') !== false) {

        $element->setAttribute('align', 'left');
    }

}

// DOM Document works with full html documents, so now we have to isolate our fragment

$bodyelement = $xpath->query('/html/body');
$bodyhtml = $domdoc->saveXML($bodyelement->item(0));

echo str_replace(array('<body>', '</body>'), '', $bodyhtml);
4

0 回答 0