• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:NL2BRの不可解な結果)

NL2BRの不可解な結果

このQ&Aのポイント
  • 初めて質問します。NL2BR関数の戻り値がおかしいと言う事です。New Line(NL)が無くならず、<BR />なるデーターに変換されます。
  • NL2BR関数を使用して改行を変換する際、予期しない結果が発生しています。コンパイルミスやバグの可能性があり、他の関数にも影響があるかもしれません。
  • NL2BR関数の使用により、クライアント側に改行情報が残ってしまいます。異なるOSやブラウザーでの動作も懸念されます。バグの検索ページやパッチの配布ページを探しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.1

全ては分からないので、分かるところだけ答えます。 >NL2BR関数の戻り値がおかしいと言う事です。New Line >(NL)が無くならず、 ><BR /> >なるデーターに変換されます。 http://php.zyprexia.com/manual/ja/function.nl2br.php そう言う仕様ではないですか? >次に、PHPが NLを含むテキストデーターを $junk で受け取ったとして、 >ereg_replace("\n", "<br>", $junk); としても、クライアント側に返送されるデーターには改 >行情報が残ってしまいます。 これは分かりません。私の環境ではこれでうまくいきます。 ものすご~く当てにならない予測ですが、文字コードは大丈夫でしょうか? 内部設定EUC-JPなのにSJISを使っていないか調べてみてください。 >悩み1:バグなのか、コンパイルミスなのか? 少なくとバグではないと思います。 # 聞いた事ありませんから。 また、./configureはどのようなオプションを付けたのでしょうか? >悩み3:クライアント側のOSやブラウザーで影響するのかどうか? 携帯モバイルの場合、ものすごく影響が出るのが文字コードです。 その当たりもう一度当たってみた方がいいかもしれません。 user_agentを拾って、相手のブラウザを判断し、 普通のパソコンからのアクセスの場合はEUC-JPそのままで表示。 携帯からのときは、SJISにエンコード。 この点は気を付けましょう。 でわでわ

Ujiki
質問者

お礼

親身で親切でご丁寧な回答に感謝します。ありがとうございました。 Sun Apr 14 08:57:15 JST 2002

Ujiki
質問者

補足

kusukusuさま、おはようございます。 アドバイスに感謝します。 >http://php.zyprexia.com/manual/ja/function.nl2br.php >そう言う仕様ではないですか?  早速のご指摘に感謝します。NL2BRの文字で「置換」処理だとばかり考えておりました。置換ではなく「挿入」処理なのですね。すると、PHPスクリプト内で JavaScriptの変数に文字列としてクライアントに戻すような場合は、最初からNL2BRだけでは無理があり、ereg_replace を利用することが正解と認識するべきですね。悩みが1つ無くなりました。ありがとうございます。(早計かな) >これは分かりません。私の環境ではこれでうまくいきます。 >ものすご~く当てにならない予測ですが、文字コードは大丈夫でしょうか? >内部設定EUC-JPなのにSJISを使っていないか調べてみてください。 PostgreSQLへの書き込み以前での確認ですので PostgreSQLは無視したとして、LinuxですのでEUCを基本にしています。PHP3では /usr/local/lib/php3.iniでi18n関連のエンコード/デコード定義関数があったと思うのですが、PHP4ではインストールのまま利用しております。htmlでの METAタグによる文字コード宣言は故意に廃止し、yahooさんのポリシールールと同様に、EUC独自の漢字をhtmlファイル先頭に埋め込みブラウザーにEUCを認識させています。Linux内のHTMLファイルもEUCで書き込んでおります。 >少なくとバグではないと思います。 ># 聞いた事ありませんから。 >また、./configureはどのようなオプションを付けたのでしょうか?  そうですか。やはり固有のトラブルですか。レポートがありませんので、コンパイルミスなのですね。ガックリ(^^); イントラネット用 Apacheと言う事でSSLを無用とし、デーモン常駐ではなく、ポート80コールでhttpdを必要な時だけ立ち上げることにし、Apache の --enable-module=so をコンパイル時に選択していません。PHP4のコンパイル時のオプションは以下の通りです。 ../configure --enable-jstring \ --enable-mbregex --enable-iconv --with-pgsql \ --enable-trans-sid --enable-track-vars です。PHP3の時は技術評論社「改訂版 PostgreSQL完全攻略ガイド」石井達夫氏を参考にし何も問題はなかったです。PHP4は秀和システム「PHP4でカンタンWebDB構築ガイド」初版ですが、書かれている通りには上手く出来なかったです。 宜しければ、kusukusuさまのご利用中の PHP4のバージョンと configure 時のオプションを教えてはいただくか、参考にされたWebサイトを教えて戴けませんか?(甘え過ぎかも知れません) NAMAZUやKAKASHIは現在は利用していませんが、将来的にはインストールしたいです。Apacheのバージョンはインターネット側のSSL版と同じバージョンにしておきたいので特にApacheのバージョンアップは考えていないのですが、必要があればコンパイルの再実行は実施したいと思います。PostgreSQLも、バージョンアップしたいですが、DBデーターの移行に問題が無いか別システムで実験してから行います。PHP4と日本語化パッチのインストール情報があるWebサイトをご存知ではないでしょうか?(これはなんなら別スレッドで質問してみます) >携帯モバイルの場合、ものすごく影響が出るのが文字コードです。 >その当たりもう一度当たってみた方がいいかもしれません。 >user_agentを拾って、相手のブラウザを判断し、普通のパソコンからのアクセスの場合はEUC-JPそのままで表示。 >携帯からのときは、SJISにエンコード。 >この点は気を付けましょう。  ご指摘に感謝いたします。注意します。ありがとうございます。また、質問のようになってしまいましたが、お暇な時に見てやって下さい。(^^)

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.3

こんばんは、相変わらず、続・雑談です(笑) >>私の参考書はマンモス本です。最近青マンモスも発売に >>なり、すぐに購入しました! >なるほど、早速、本屋に足を伸ばそうと思います。インパクトに感謝します。 レスを見る限りujikiさんのレベルでは赤マンモスは不要でしょう。あくまでも初心者向けの本です。 しかし、青マンモス「PHP4徹底攻略・実践編」は、大変内容が濃いく(私もまだ全部読んでいませんが(^^;)おすすめです。 事に、色々な外部ライブラリや、セキュリティ、XMLを扱うに付いて等、中級上級者向けの内容です。 # 私は決して広川様(著者)ではありません(^^; # いい本だから勧めているだけです。(笑) >顧客の現在稼働中のシステムへの追加開発中ですので、 >バージョンアップは簡単には出来ないですね。(^^) 気持ちは痛いほど分かります。私もその苦痛を乗り越えて(まだ途中ですが(^^;)来ましたから。 しかし、register_globals=onの恐怖が分かれば、やっぱり変えたいと思うと思います。 普段から、GET POST COOKIE で渡された変数を、受け取った側で、 $HTTP_GET_VARS[hoge]; 等と、初期化して使っていれば、だいぶ楽ですが ($_GET[hoge]に一括変換) 私の場合は、もろにしていなかった報いを受けました(^^; コードを一行ずつ追いかけ修正しました。 ホントに死にましたよ(笑) >ご親切な警告に感謝致します。調査しますが、PHPスク >リプトソース毎に、register_globals=On/Offを切り替 >える事を暫定的にも利用できる事を期待して これはただの期待ですか?それともそう言う話があるのでしょうか? もし後者であれば、「聞き捨て出来ない話」なのですが・・・(私もそれが出来て欲しい) 修正したとはいえ、それは今開発中のスクリプトです。 過去の遺産を(これを全て直す事を考えると、気の遠くなるほど・・・)修正する事を考えると・・・ まだまだ、自作クラスファイルを手つかずの方が多いくらいですから(^^; >画像までハンドリングされてるとは、素晴らしいシステ >ム開発をされておいでですね。是非、益々成功される事 >をお祈りいたします。 (^^;・・・全然です。私はまだ初心者のレベルを出ておりません(PHP-USERSには是非入る事をおすすめします。めちゃくちゃレベル高いです。私はそこでは教えて君です(^^;) 画像は面白い?ですよ。エクセルのような、数値を入力すると、グラフを書くスクリプトを書きましたが、なかなか気に入っています(^^; >そのポリシーには大いに賛成です。折角のLinuxのアプリケーションですから、 >(snip) >重ねて感謝いたします。 そうですね。向上心こそが一番大切ですね。 私は常に高レベル技術者のそう言う冒険心で出来た産物の恩恵にあずかっています。 私がそう言う技術者になれるとは思わないし、目指してもいません。 しかし、自分の得た知識を示す事によって、助かる人も中にはいるのでは?と言う思いで発言します。 # 何度もきつい発言をして、ここの管理者に消された事もありますが(^^; PHP-USERSで得た知識を、そのMLには還元できません。 (高レベルすぎて) だから、他の色々な場所で還元できればと思っています。 お互い頑張りましょう。 では

Ujiki
質問者

補足

>青マンモス「PHP4徹底攻略・実践編」は、大変内容が濃いく(私もまだ全部読んでいませんが(^^;)おすすめです。 >事に、色々な外部ライブラリや、セキュリティ、XMLを扱うに付いて等、中級上級者向けの内容です。  了解しました。重ね重ねのご配慮に感謝します。(^^) >これはただの期待ですか?それともそう言う話があるのでしょうか?  未確認です。小生が開発者なら… 自由度を与えたいと考えるからです。INCLUDE で読み出す場合、function 内などなど、切りかえれれば随分と移植期間の融通が出てきます。function 内での global 宣言のように… (^^) >画像は面白い?ですよ。エクセルのような、数値を入力すると、グラフを書くスクリプトを書きましたが、なかなか気に入っています(^^;  なるほど、画像を自動生成するとは美しくてマンマシーンインターフェイスを考えると素晴らしいことです。商品価値も上がりますね。(^^) 是非、どこかで発表して下さい。盗ませて下さい。(^^); >だから、他の色々な場所で還元できればと思っています。  確かにそうですね。MLでは目まぐるしく話題が移り行き見失い勝ちです。ここOKWebでは、ゆっくり対応できそうですね。(^^) 居心地は良さそうです。(^^); >お互い頑張りましょう。  ありがとうございます。頑張りましょう。

全文を見る
すると、全ての回答が全文表示されます。
  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.2

こんばんは。 まず最初にこれは回答ではなく、雑談です(^^; # 分かりませんから。。。 >悩みが1つ無くなりました。ありがとうございます。(早計かな) それはよかった! 役に立てて光栄です(^^) >../configure --enable-jstring \ >--enable-mbregex --enable-iconv --with-pgsql \ >--enable-trans-sid --enable-track-vars 懐かしいjstringに目がいきましたが、後は問題ないようですね(笑) そうか、4.0.5ですか・・・このバージョンまでjstringが必要だったんですね~ # 全然役に立たないただの感想です(^^; こんな事を書いたら又消されるかもしれませんが、 「PHP4でカンタンWebDB構築ガイド」はPHP-USERS(ML)でもあまりいい評判は聞きませんね。。。 私の参考書はマンモス本です。最近青マンモスも発売になり、すぐに購入しました! >kusukusuさまのご利用中の PHP4のバージョンと configure・・・ 私は常に最新版を使います。今は4.1.2です。 ちょっと脇道にそれますし、ご存じかもしれませんが、4.1.0からかなり大きな仕様変更がありました。 俗に言うregister_globals問題です。 私もつい最近(青マンモスを読んでregister_globals=Onの危険性を知り)Offに取り組みました。 # PHP開発者は「過渡期なので今はまだregister_globals=Onも残すが、もうすぐになくす」 #と言っているのも原因です。 これ・・・はっきり言って死にました(^^; 「変数を初期化しなくてもOK」と言う仕様が変わり、コード変更がめちゃくちゃ大変でした! 今やっと終わり、他のアプリも変更しています・・・ Ujikiさんも、早めに取り組まないと、どつぼにはまりますよ。。 老婆心ながら・・・・ で、configureですが、私の場合、イントラネットorインターネットを利用した「販売管理、売掛管理」等をメインに作っています。 故に、pdfやpngを動的に生成するようなモジュールが多く含まれ、あまり参考にならないかもそれませんが・・・ ./configure --with-pgsql --enable-track-vars \ --with-apxs=/usr/local/apache/bin/apxs \ --enable-versioning --with-gd=/usr/local \ --with-png-dir=/usr/local/src \ --with-jpeg-dir=/usr/local/src \ --with-zlib-dir=/usr/local/src --with-ttf \ --enable-trans-sid --enable-mbstring \ --enable-mbstr-enc-trans --with-pdflib=/usr/local \ --enable-ftp \ 長いですね(^^; >NAMAZUやKAKASHIは現在は利用していませんが、将来的にはインストールしたいです。 これは後からextensionに入れてやればOKです。そちらの方が簡単だと思います。 >Apacheのバージョンはインターネット側のSSL版と同じバージョンにして >おきたいので特にApacheのバージョンアップは考えていないのですが 私は新しいものが意味もなく好きです(笑) 故に、 openssl-0.9.6c ./config --prefix=/usr/local --openssldir=/usr/local/openssl -fPIC mod_ssl-2.8.8-1.3.24 ./configure --with-apache=../apache_1.3.24 \ --with-ssl=../openssl-0.9.6c --prefix=/usr/local/apache \ --enable-shared=ssl --enable-module=so \ --enable-rule=SHARED_CORE --enable-module=rewrite \ --enable-shared=rewrite apache1.3.24 OPTIM="-O2" ./configure --enable-module=ssl --enable-module=so とやっております。 #バージョンはご覧の通り最新版です(笑) >PHP4と日本語化パッチのインストール情報 4.0.6以降は、全て国際化版です。 Ujikiさんが使われているバージョンまで、上記に気を付けなくてはならなかった だけです。 上でも書きましたが、仕様が大きく変更になりました。 早く新しい方になれることをお勧めします。 長くなりました(^^; それでは

Ujiki
質問者

補足

こんばんは、お忙しい所、何度も申し訳なく存じます。ありがとうございます。 まず、「補足」に発言している点、ご容赦願います。次にレスを督促しているのでは決してありません。スレッドを締め切った場合に、「お礼」には書き込めるけれども、「補足」には書き込みが出来なくなるので、「補足」を利用しているだけです。気持ちは「お礼」欄です。(^^) >私の参考書はマンモス本です。最近青マンモスも発売になり、すぐに購入しました!  なるほど、早速、本屋に足を伸ばそうと思います。インパクトに感謝します。 ># PHP開発者は「過渡期なので今はまだ>register_globals=Onも残すが、もうすぐになくす」 >#と言っているのも原因です。 >これ・・・はっきり言って死にました(^^;  顧客の現在稼働中のシステムへの追加開発中ですので、バージョンアップは簡単には出来ないですね。(^^) 了解しました。手持ちの余ったPCに最新のPHPを早速インストールし、夢のような話しですが、PHPスクリプトをawkで(半)自動変換してしまうツールを考えて、一期に変更したいと思います。(出来るのかなあ~) (^^); で、PHPソース類は当分は2本立て管理になりそうです。 >Ujikiさんも、早めに取り組まないと、どつぼにはまりますよ。。 >老婆心ながら・・・・  : >上でも書きましたが、仕様が大きく変更になりました。 >早く新しい方になれることをお勧めします。  ご親切な警告に感謝致します。調査しますが、PHPスクリプトソース毎に、register_globals=On/Offを切り替える事を暫定的にも利用できる事を期待して、PHPソースの変更を積極的に考慮しようと考えます。まあ、PHPの開発者の苦労から考えますと… 我慢して汗しないと仕方が無いですよね。利用させていただいているわけですからね。(^^); >pdfやpngを動的に生成するようなモジュールが多く含まれ、あまり参考にならないかもそれませんが・  いえいえ、PDFは別マシーンで利用中です。そうですか、画像までハンドリングされてるとは、素晴らしいシステム開発をされておいでですね。是非、益々成功される事をお祈りいたします。 >これは後からextensionに入れてやればOKです。そちらの方が簡単だと思います。  なるほど、明確な方向性に感謝します。 >私は常に最新版を使います。…  そのポリシーには大いに賛成です。折角のLinuxのアプリケーションですから、積極的にバージョンアップしたいですね。弊害があったとしても。まあ、Linux関連の技術者には精神的な若さと言うのか、冒険心と言うのか、積極果敢な気持ちが大切です。お互いに頑張りましょう。エッセンスの数々、感謝します。NL2BRの小さな、小さな悩み(?)の発言に、新たなディレクションを見出せました。他、configureを例示していただきまして、とても参考になります。助かります。重ねて感謝いたします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • nl2brが効かないのですが・・・

    phpで、DBから取得した「Hello!! \n World!!!」という文字列を表示したところ。 「Hello!! \n World!!!」とそのまま表示されました。 いろいろ調べた結果、 $a = 'Hello!! \n World!!!'; echo nl2br($a); とシングルクォーテーションで文字列を囲った場合と同じことになっているとわかりました。 しかし、DBから取得して$aに突っ込むまでの作業はFuelPHPというフレームワークでやっており、 じゃあダブルクォーテーションで囲っちゃえばいいじゃん、とはいかないのかなと思います。 私が考えているやれることは、 1.FuelPHPのcoreの部分を修正する 2.nl2br($a)をnl2br(str_replace('\n',"\n",$a))のように一手間加える なのですが、気持ちがよくはありません。 もしかすると、 ・FuelPHPのconfigの問題 ・PHPやapache、DB(MySql)はたまたOSの何らかの設定の問題 なのかな、とは思いますが検討もつかない状況です。 誰か解決策をお持ちの方はいますでしょうか? 因みに、Webサーバーの環境は以下の通りです。 Windows7 HomePremium apache 2.2.21 php 5.3.8 fuelPHP 1.1 MySql 5.5(文字セットはutf-8)

    • 締切済み
    • PHP
  • PHPです2つのスクリプトの相違がわかりません

    PHPですが、以下の2つのスクリプトで同じ結果がでると思ったのですが現実は違いました。 henkan.php <html> <body> <?php $uketori=$_POST['UKETORI']; $uketori=str_replace("pen","pencil", $uketori); $uketori=strtoupper($uketori); print "$uketori"; ?> </body> </html> henkan2.php <?php $str=$_POST['UKETORI']; echo str_replace("です。","だよん。", $str) . "<br>\n"; echo "<br>\n"; echo mb_ereg_replace("です。","だよん。", $str) . "<br>\n"; echo "<br>\n"; ?> フォームに です。 という文字を入れたら変換されて だよん。 と表示さしたいのですが、上の2つで相違がでました。なぜなんでしょうか。 henkan.php では変換されませんでした。 henkan2.php では変換されました。

    • ベストアンサー
    • PHP
  • フォームのtextareaにnl2brを使用すると、入力内容の改行部分に<br />が表示されてしまう。

    現在、フォームを作成しています。 セッションを利用してフォームの次のファイルにデータを受け渡しています。 問題は、フォームのtextareaにnl2brを使用すると、出力画面のtextareaに入力された内容において改行がある部分に<br />タグが表示されてしまうことです。 フォームの流れ: start.phpにおいてフォームに入力及び、入力エラーがある場合、入力内容訂正の表示。 mail.phpにおいて入力内容の確認及びデータ送信。 start.phpのtextarea以下: <textarea name="test"><?php echo nl2br(htmlspecialchars($input_data['test'], ENT_QUOTES, 'UTF-8')) ?></textarea> 解説:start.phpでは、フォームの入力項目のいずれかに入力エラーがあるとその項目の入力内容の訂正を促し、入力されたデータをもう一度表示します。(<textarea name="test">に入力されたデータをもう一度<textarea name="test">に表示します。) mail.phpにおいてstart.phpのtextareaに入力されたデータを表示する部分は以下: <?php echo nl2br(htmlspecialchars($input_data['test'], ENT_QUOTES, 'UTF-8')) ?> start.phpにおいて入力項目のいずれかにエラーがあり、<textarea name="test">に入力されたデータをもう一度<textarea name="test">に表示した場合も、また、mail.phpにおいてstart.phpのtextareaに入力されたデータを表示した場合も、<textarea name="test">内の文字列に改行があるとその部分に<br />が表示されてしまいます。 入力例: あいうえおかきくけこ たちつてと 表示例(nl2br使用): あいうえおかきくけこ<br /> たちつてと 解説:nl2brを使用した場合、<br />は挿入されてしまいますが、予定の場所で改行されて表示されます。 試しにnl2br()をコードから削除すると、以下のような表示となります。 表示例(nl2br未使用): あいうえおかきくけこたちつてと 解説:nl2brを使用しない場合、改行されません。 どのようにすれば、textareaに入力された内容の改行部分が改行だけされ<br />が表示されないようにできるでしょうか? よろしくお願いします。

    • 締切済み
    • PHP
  • 文字列内の\nで改行表示させるための置換

    すでに他のかたがNo.7770 でなさった質問によく似ていますが、私の場合と微妙に違いますので、質問させてください。たとえば: $data='i.(h, s) \n1. (馬が)速足(はやあし)で走る \n2. (s)[口]急いでいく, 小走りに走る' この$data 内の「\n」を<Textarea>に改行して表示したいので、文字列置換を $data = ereg_replace("\n", "<BR>", $data); とか $data = ereg_replace("\\n", "<BR>", $data); とか $data = ereg_replace("/\\n/", "<BR>", $data); やってみてますが、どうしもPerl の場合には成功した: $data=~ s/\\n/\n/g; と同じ結果が得られません。表示の末尾に<BR>が出たり、\nのままだったりします。何度も行なわれているような初歩的質問ですが、お願いします。

    • ベストアンサー
    • PHP
  • 改行コードの<BR>への変換がうまくいきません。

    はじめまして よろしくお願いします。 仕事でPHPを触れはじめたところです。 textarea タグで入力されたものをMysqlに保管し、 また表示するというようなものを作ろうとしています。 困っているのは Mysqlがどうのではなくその登録前に 改行コードを <br>タグ に変換をかけておこうというところで躓いています。 セッションを開始しておいてFormタグからの値を 次のページで受け取っています。 ここの過去ログ等を参考にしてみたのですが... $_SESSION['e_biko'] = htmlspecialchars($_POST['biko'] , ENT_QUOTES) ; $tmp_biko = ""; $tmp_biko = str_replace("\r\n", "\r", $_SESSION['e_biko']); $tmp_biko = str_replace("\r", "\n", $tmp_biko); $_SESSION['e_biko'] = str_replace("\n", "<br>", $tmp_biko); このあとでechoを使って$_SESSION['e_biko'] を表示させています。 しかし改行しないんです。<BR>タグへの変換ができておらず、表示されたHTMLのソースコードを見ると改行コードがそのまま出力されています。 HTML及びPHPの文字コードはEUCで記述しています。 開発及び確認はWindows・IE6で行っています。 何か考えられる原因、あるいはバグかあるでしょうか? ちなみに下記でも駄目でした。 $_SESSION['e_biko'] = preg_replace("/\r\n|\r|\n/", "<br>", $_SESSION['e_biko']); お分かりになられる方おられましたらよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • TEXTAREAに書いた改行コードを正しくBRに

    置き換えたいのですが、<br>がたくさん増えてしまいます。 下記のように書き換えています。 foreach ($data as $key => $value) { $data[$key] = preg_replace("/^(\s| )+$/", "", $data[$key]); $data[$key] = strip_tags($data[$key]); $data[$key] = stripslashes($data[$key]); $data[$key] = mb_convert_kana($data[$key], "KV"); $data[$key] = htmlspecialchars($data[$key]); $data[$key] = str_replace("\r", "<br>", $data[$key]); $data[$key] = str_replace("\n", "<br>", $data[$key]); $data[$key] = mysql_escape_string($data[$key]); } 別途↓も入れましたが、1改行コードにつき2個<br>がつきます。 文字コードはutfです。 $data[$key] = str_replace("\r\n", "<br>\n", $data[$key]); 正しく改行コードを<br>に変換できないでしょうか?

    • ベストアンサー
    • PHP
  • ereg_replace関数に関して

    教えて下さい。 プログラム上でereg_replace関数を多数使用しています。 この関数は、PHP 5.3.0以上では使えない事がわかり、他の関数に切り替えたいと考えて いますが、書き方がわかりません。 以下の記述をPHP 5.3.0以上で動作させる為には、どのように記述すれば良いでしょうか? 《現在の記述》 $dest=ereg_replace('^', '&gt;' ,$dest); $dest=ereg_replace("\n", "\n>" ,$dest); $dest = ereg_replace("http://[^<>[:space:]]+[[:alnum:]/]", "<a href=\"\\0\">\\0</a>", $src); 初歩的な質問で申し訳ありませんが、教えて下さい。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • ファイルの読み込みとnl2br

    いつもお世話になっております。 ちょっとわからないことがあり質問させていただきます。 ファイルの読み込みで $fp= fopen("1.txt","r"); list($i,$j,$k,$l) = explode(",",fgets($fp)); で1.txtの中身は 1,2,3,aaa\r\nbbbb というカンマ区切りのファイルになっています。 しかし print nl2br($l); をブラウザで見ると\r\nがそのまま表示されてしまいます。 gettype($l)はstringと表示されます。 ちなみに $l="aaa\r\nbbbb"; print nl2br($l); は改行されたものが表示されます。 php4.3.10でレンタルサーバです。 ファイルからの取り出し方に問題があるのでしょうか? もしくはデータのの書き出し方に問題があるのでしょうか?(1.txtはフォーム上から書きこみます) ご教授いただければ幸いです。

    • ベストアンサー
    • PHP
  • csv内の改行を削除

    フォームから送られてきた文章の 改行を<br />へ変換したいのですが、 $comment_a = ereg_replace("\n","<br />",$comment); としても a<br /> b<br /> c となってしまいます。 a<br />b<br />c としたいのですが、どうしたらよいのでしょうか。 $comment_b = str_replace("\n", "", $comment_a); を追記したのですが、うまくいきませんでした。

    • ベストアンサー
    • PHP
  • textarea内のタグを反映させたいのですが

    http://okweb.jp/kotaeru.php3?q=984300を参考に 改行を犠牲にして自動リンクを利用できるようにしたのですが、 HTMLの一部に編集内容を反映したいため FONTタグ等も利用したいんです。 何か良い方法はありませんでしょうか? よろしくお願いします。 <?PHP 文字制限のため省略ですが参考元と同様です。 ?> <html> <title>テキストファイルのデータ更新</title> </head> <body> <form method="post" action="edit.php"> data1の変更 - <textarea name ="data1" rows="5" cols="40"><?php echo preg_replace("/<br>/", "\n", $ini['data1']); ?></textarea><br> data2の変更 - <textarea name ="data2" rows="5" cols="40"><?php echo preg_replace("/<br>/", "\n", $ini['data2']); ?></textarea><br> data3の変更 - <textarea name ="data3" rows="5" cols="40"><?php echo preg_replace("/<br>/", "\n", $ini['data3']); ?></textarea><br> <input type="submit" value="送信"> </form> <table> <tr><td>data1</td><td><?PHP echo ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", "<a href=\"\\0\">\\0</a>", $ini['data1']); ?></td></tr> <tr><td>data2</td><td><?PHP echo ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", "<a href=\"\\0\">\\0</a>", $ini['data2']); ?></td></tr> <tr><td>data3</td><td><?PHP echo ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", "<a href=\"\\0\">\\0</a>", $ini['data3']); ?></td></tr> </table> </body> </html>

    • 締切済み
    • PHP
このQ&Aのポイント
  • 質問者がアマゾンで特定の商品を購入しようとした際に表示される「●芝(●SHIBA)のストア」について疑問がある。
  • 購入した商品のカートを確認すると、「●芝ストア」とは関係のない地方の住所の名前も知らない店舗名が表示されている。
  • これらの表示はどのような仕組みで行われているかについて質問している。
回答を見る