0

我解析网页内容并以下列方式将其显示在 div 中:

$doc = new DOMDocument();
libxml_use_internal_errors(true);
$doc->loadHTMLFile($url);
libxml_clear_errors();
$xpath = new DOMXPath($doc);
foreach($xpath->query("//script") as $script) {
    $script->parentNode->removeChild($script);
}

$textContent = $doc->textContent; //inherited from DOMNode
$text=escapeshellarg($textContent);

$test = preg_replace("/[^a-zA-Z]+/", " ", html_entity_decode($text));

但这也会将换行符(段落)删除到 $test 中。如何在上面包含换行符,以便每个段落都可见?

4

2 回答 2

1

您可以简单地通过不替换它们来包含换行符。

$test = preg_replace("/[^a-zA-Z\n]+/", " ", html_entity_decode($text));
                               ^^
于 2014-09-16T08:50:07.053 回答
1

PHP 有一个很好的功能。尝试这个:

echo nl2br($test);
于 2013-09-30T11:47:02.583 回答