[PHP-users 29940] 独自タグ入力画面での段落の取り方
atsushi kojo
a-kojo @ artsnet.jp
2006年 8月 3日 (木) 16:49:52 JST
textarea内に独自のタグで入力して正規表現を通して
HTMLで表示するというのもを作っています。
独自タグ:[b]強調文字[/b]
↓
変換コード:$str = preg_replace(
"/\[b\](.+?)\[\/b\]/s","<strong>$1</strong>", $str);
↓
HTML:<strong>強調文字</strong>
このノリで文中の改行から改行までを<p>(段落)で
囲って<br />ではない妥当な構造にしようと思い
\n段落\n
↓
変換コード:$str = preg_replace( "/\\n(.+?)\\n/s","<p>$1</p>", $str);
↓
<p>段落</p>
としてみたところ、ある程度望みの表示にはなるのですが
文頭に改行を入れないと段落がずれたり
文の最後に改行を入れないと妙な<p>が入ったりします。
それぐらいなら入力フィルターなど設けて対処できますが
そもそもユーザーがこちらの意図通り入力してくれるわけもない・・・
根本的に間違ってるのかなと思いました。
このようなことを処理する場合の一般的な方法として
どういう方法がとられるのでしょうか?
または同じようなことしてるソースをご存知でしたら
教えていただきたいです。よろしくお願いします。
PHP-users メーリングリストの案内