- ベストアンサー
空行を<br />に置換したい
今、ファイルの中身を読み込み、それを処理したいものがあります。 処理する過程で、 空行(スペース、タブしかない行も含む)を<br />に置換したいのですが、上手くいきません。 ex) 処理前 あいうえお ←半角スペース2個あると過程 か きくけこ さしせそ 処理後 あいうえお <br /> か <br /> きくけこ <br /> さしすせそ 現在、やってるスクリプトです。 $str = preg_replace("/^\s$/", "<br />", $str); これだと出来ません・・・。 (このままだと<br />に置換するとその行が改行され ませんでしたね><;) どうすると実現出来ますでしょうか?ご教示下さい。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じでしょうか・・ $str = preg_replace("/(^|\n)[\s]+(\n|$)/", "\\1<br />\\2", $str);
その他の回答 (2)
- sakusaker7
- ベストアンサー率62% (800/1280)
#2の方の回答のようにややこしいことせんでも 修飾子一個で解決しますよ。 $str2 = preg_replace("/^\s+$/m", "<br />", $str); print($str2);
お礼
ありがとうございます。 試した所、処理される所はいいみたいだったのですが、何故か<br />に置換されず、、、、でした。 後でじっくり確認してみようかと思います。
- fire--
- ベストアンサー率49% (146/293)
マニュアルにでてますが、以下では? >nl2br >(PHP 3, PHP 4 , PHP 5) > >nl2br -- 改行文字の前にHTMLの改行指定文字を挿入する >説明 >string nl2br ( string string) > >stringに含まれるすべての改行文字の 前に '<br />' を挿入して返します。
お礼
すみません、それだと あいうえお かきくけこ が あいうえお<br /> かきくけこ になってしまうのでNGです。 色々試した結果、自己解決しました。
お礼
ありがとうございます。私も色々試したところ、そんな感じになりました!