[PHP-users 29942] Re: 独自タグ入力画面での段落の取り方

atsushi kojo a-kojo @ artsnet.jp
2006年 8月 3日 (木) 17:45:41 JST


自己レスです。

$str = preg_replace( "/(.+?)\\r\\n\\r\\n/s","<p>$1</p>\r\n", $str);
   ↓
<p>段落</p>

単純なことでした。最初の改行を考慮しなければ
いいだけでした。

水沼さん参考コードを見せていただきありがとうございました。
以前のオクさんとのやりとりもすごく参考にさせていただいてます。
ありがとうございます。

----- Original Message ----- 
From: "atsushi kojo" <a-kojo @ artsnet.jp>
To: <php-users @ php.gr.jp>
Sent: Thursday, August 03, 2006 4:49 PM
Subject: [PHP-users 29940]独自タグ入力画面での段落の取り方


> 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 mailing list  PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3 




PHP-users メーリングリストの案内