1 回答

TA貢獻1848條經驗 獲得超2個贊
通過正則表達式解析 HTML(或任何 XML)并不是一個好主意。
在您的情況下,最好使用DOMDocument:
function addDivLastP( $content ) {
$doc = new DOMDocument();
if(!$doc->loadHTML($content)) {
? ? // cannot parse HTML content
? ? return $content;
}
for($i = $doc->childNodes->count()-1; $i >= 0; $i--) {
? ? $child = $doc->childNodes[$i];
? ? if ($child->nodeName === 'p') { // got last paragraph inside root node
? ? ? ? $div = $doc->createElement('div');
? ? ? ??
? ? ? ? // replace paragraph by new empty div
? ? ? ? $doc->replaceChild($div, $child);
? ? ? ? // insert paragraph inside div
? ? ? ? $div->appendChild($child);
? ? ? ? return $doc->saveHTML();
? ? }
}
return $content;
}
- 1 回答
- 0 關注
- 169 瀏覽
添加回答
舉報