在PHP

时间:2017-02-13 10:50:17

标签: php string

如何在保留正确的HTML段落结构的同时将字符串插入50个单词后的其他字符串中?我的意思是在结束</p>标签后插入。 例如:

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sint modo partes vitae beatae. Quis istum dolorem timet? Quare hoc videndum est, possitne nobis hoc ratio philosophorum dare. Iam id ipsum absurdum, maximum malum neglegi. Quamquam id quidem, infinitum est in hac urbe; Duo Reges: constructio interrete. Scripta sane et multa et polita, sed nescio quo pacto auctoritatem oratio non habet. Quod ea non occurrentia fingunt, vincunt Aristonem;</p>

< first p is over 50 words, insert string here but only after the closing </p> and not in the middle of the paragraph >

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sint modo partes vitae beatae. Quis istum dolorem timet? Quare hoc videndum est, possitne nobis hoc ratio philosophorum dare. Iam id ipsum absurdum, maximum malum neglegi. Quamquam id quidem, infinitum est in hac urbe; Duo Reges: constructio interrete. Scripta sane et multa et polita, sed nescio quo pacto auctoritatem oratio non habet. Quod ea non occurrentia fingunt, vincunt Aristonem;</p>

1 个答案:

答案 0 :(得分:0)

这样的样本:

$data = "<p>some HTML</p>";
$dom = new DOMDocument;
libxml_use_internal_errors( true );
$dom->loadHTML( $data );

//Get the paragraphs
$paraObj = $dom->getElementsByTagName( 'p' );
$para = array();
foreach ( $paraObj as $obj ) {
    $para[] = $obj->nodeValue;
}

现在,您拥有数组中的元素值$para通过检查单词数量来计算每个数组元素(通过计算空格)并创建新的HTML。