PHP Автоформат Теги Абзаца - PullRequest
2 голосов
/ 09 марта 2011

Это довольно простой вопрос, однако мне удалось найти только три ответа.Я хочу автопараграфировать неформатированный контент, который может содержать или не содержать другие элементы HTML.Двумя полезными функциями являются wordpress wpautop , HTMLPurifier AutoFormat.AutoParagraph и, наконец, несколько случайных addParagraphsNew .Однако первое несовместимо с моей лицензией на приложения, второе не добавляет разрывы строк в тегах абзаца, а третье является ненадежным.

Кто-нибудь знает о коммерчески подходящем лицензионном скрипте, который допускает HTML-контент со строкой?разрывы и двойные разрывы строк для преобразования в теги <br /> и <p>?

Я считаю, что вариант HTMLPurifier, вероятно, является лучшим способом взломать плагин AutoFormat.AutoParagraph, чтобы заставить его добавить строкуперерывы, но я надеялся, что было немного легче.Ленивый, я знаю.

1 Ответ

3 голосов
/ 09 марта 2011

ну вы могли бы взломать это сами (если я правильно понимаю, что вам нужно)

$text = "hello, I am text

and this is another paragraph, please do some cool
stuff with this (this is after a  line break)

last apragrahp...";

$text = str_replace("\r\n","\n",$text);

$paragraphs = preg_split("/[\n]{2,}/",$text);
foreach ($paragraphs as $key => $p) {
    $paragraphs[$key] = "<p>".str_replace("\n","<br />",$paragraphs[$key])."</p>";
}

$text = implode("", $paragraphs);

echo $text;

Это на самом деле выведет это:

<p>hello, I am text</p><p>and this is another paragraph, please do some cool<br />stuff with this (this is after a  line break)</p><p>last apragrahp...</p>

Обратите внимание, что теперь пропущены все новые строки и т. Д. ...

...