2

これはかなり基本的な質問ですが、私は 3 つの答えしか見つけられませんでした。他の html 要素を含む場合と含まない場合があるフォーマットされていないコンテンツをオートパラグラフ化したい。便利な 2 つの関数は、wordpress のwpautop、 HTMLPurifier AutoFormat.AutoParagraph、そして最後にいくつかのランダムなaddParagraphsNewです。ただし、1 つ目はアプリケーションのライセンスと互換性がなく、2 つ目は段落タグ内に改行が追加されず、3 つ目は不安定です。

改行と二重改行を含む html コンテンツをタグに変換できる、商業的に適切なライセンス スクリプトを知っている人はい<br />ます<p>か?

HTMLPurifier オプションは、AutoFormat.AutoParagraph プラグインをハッキングして改行を追加するためのおそらく最良の方法だと思いますが、もう少し簡単なことを望んでいました。怠惰な私は知っています。

4

2 に答える 2

5

自分でハックすることもできます(必要なものを正しく理解していれば)

$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>

改行などがすべて欠落していることに注意してください...

于 2011-03-09T03:02:17.520 に答える