テキストデータの自動整形機能を実装したいと思っています。
ezyang/htmlpurifier
https://github.com/ezyang/htmlpurifier
上記のライブラリを使ってpタグを囲うようにしています。
ただ、<p>タグ内の改行コードは<br>タグに変換されず、pタグ内のテキストが1行で表示されてしまいます。
nl2br関数を使用すると余計な改行コードまで置換されてしまいます。
preg_replaceで変換させようと思うのですが、うまくいかず...
php
1 public function showAction(Post $post) 2 { 3 // テキストデータ 4 $postContent = $post->getPostContent(); 5 6 // HTML整形 7 $htmlPurifier = new \HTMLPurifier(); 8 $postContent = $htmlPurifier->purify($postContent); 9 10 // pタグ内の改行コードだけbrタグに変換する 11 preg_replace ( '/<p>(.+?)<\/p>/si' , '<p>'.nl2br("$1").'</p>' , $postContent ); 12 13 $post->setPostContent($postContent); 14 15 return array( 16 'entity' => $post 17 ); 18 }
preg_replaceではpタグ内の改行コードは置換してくれませんでした。
何か良い方法がありましたらご教示ください。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/24 00:30