如何使用PHP自动复制HTML标记

时间:2012-02-06 05:36:47

标签: php html

我想知道是否有办法在php中复制html标签,如

<tag1><tag2>  text...............text...........</tag2></tag1>

现在我将一个html页面分成几个,具体取决于字符数,因此如果文本很长,那么它将在中间分割,但标签不会被复制。

所以我想要一种方法在页面末尾自动关闭标签,并在php的下一页开头创建一个新标签。

Thanxx帮助我

2 个答案:

答案 0 :(得分:0)

拆分html,然后用

修复

http://www.php.net/tidy

或者,我想,更容易,

http://www.php.net/domdocument

使用方法 - &gt; loadHTML()(http://www.php.net/manual/en/domdocument.loadhtml.php

HTH

编辑:代码示例

<?php
function getBodyContent(DOMDocument $doc)
{
    $b = $doc->getElementsByTagName("body")->item(0); $bx = "";
    for($x=0;$x<$b->childNodes->length;$x++)
    $bx .= $doc->saveHTML($b->childNodes->item($x));
    return $bx;
}

header("Content-Type: text/plain");

$string="<h1><b>hello dfasadf safsa</b> sdf <i>sadf</i></h1> <p> sdfs dfsdfsdf</p>";

$a = new DOMDocument(); @$a->loadHTML(mb_substr($string, 0, 10, "UTF-8"));
echo getBodyContent($a); echo "\n\n\n";

$a = new DOMDocument(); @$a->loadHTML(mb_substr($string, 10, 1000, "UTF-8"));
echo getBodyContent($a); echo "\n\n\n";

$a = new DOMDocument(); @$a->loadHTML(mb_substr($string, 0, 40, "UTF-8"));
echo getBodyContent($a); echo "\n\n\n";

$a = new DOMDocument(); @$a->loadHTML(mb_substr($string, 40, 1000, "UTF-8"));
echo getBodyContent($a); echo "\n\n\n";

?>

答案 1 :(得分:0)

根据您的数据,可以有不同的解决方案吗?

您可以将数据分成每页有多少单词/字符吗?

  • 如果可以的话,它会让事情变得简单,因为你可以使用大量的脚本 - 简单易用的高级脚本。

由于