![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
宜しくお願いします。
PHPで文字列の置き換えをする関数の『ereg_replace』についてですが、この関数を使う変数に『'』がはいると、置き換え後にその『'』の前に『\』が付いちゃうんですが、これを回避する方法は無いでしょうか?ちなみに、文字化けするソースを明記させて頂きます。
$title_edit = ereg_replace("/\x0D\x0A|\x0D|\x0A/","<br>","${title}");
入力フォームでtextareaで入力された項目が$titleに入るのですが、textarea内でエンター改行した場合に、その改行コードをHTML上の<BR>タグに置き換えるというものなんですが、これを行うと、『'』の前に『\』が入ってしまうのです。原因が良く判らないで困っています。
お願いします!教えて下さい!!
No.1ベストアンサー
- 回答日時:
こんにちは。
まず、正しく動作していますか?
$title_edit = ereg_replace("/\x0D\x0A|\x0D|\x0A/","<br>","${title}");
の部分ですが、
$title_edit = ereg_replace("\x0D\x0A|\x0D|\x0A","<br>","${title}");
になると思いますよ。
ちなみに、私の環境では正常に動作しました。文字コードを色々変えてみても正常でした。
以下のようにやってみてください。
//改行をタグへ
$title_edit = ereg_replace("\x0D\x0A|\x0D|\x0A","<br>","${title}");
//不要な「\」を除去
$title_edit = stripslashes($title_edit);
※一応私の場合は、「'」を全角の「’」や「'」に変更しています。
あと、文字コードでなくて「\r\n」や「\n」で動作しますよ。
$title_edit = ereg_replace("\r|\r\n|\n","<br>","${title}");
以下の感じでも試してみてください。
$title_edit = str_replace("\n", '<BR>', ${title});
ご質問のような感じでやるなら
$title_edit = preg_replace("/\x0D\x0A|\x0D|\x0A/","<br>","${title}");
ereg_replaceより高速です。
ありがとうございます!
一応、動作はしております。
教えて頂いたとおりやったら、ばっちり取れました!
stripslashes($title_edit);
が効いた様です!
助かりました-!!ありがとうございますーm(__)m
No.2
- 回答日時:
php.iniで
magic_quotes_gpc
が On になっていると、
「'」「"」「(NULL)」に『\』がつきます。
参考URLの「magic_quotes_gpc」の説明の処を読んで下さい。
ここをOffにするか
#1で示されているように「stripslashes関数」を使って取り除きます
参考URL:http://jp2.php.net/manual/ja/ref.info.php#ini.ma …
ありがとうございます!
phpinfo()で調べたらmagic_quotes_gpcがONになっていました。
一つ一つ『\』が出そうな変数をstripslashes関数で\を取り除きます。
ありがとうございましたーm(__)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA 教えてください。 VBA初心者です。 詳しい方がいましたら教えてください。 下記 3 2023/04/25 11:22
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- HTML・CSS HTMLソースの質問 3 2022/07/28 13:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHP8を使うと、大量のWarningが...
-
phpでcookieがうまく保存されない
-
PHPでMysqlにデータがあるかど...
-
PHPの記述で値が取れません。
-
PHPSpreadsheetを使って関数を...
-
入力した部分を表示させたまま...
-
php に関して質問です。 各ユー...
-
phpのクラスメソッドの定義が長...
-
phpにおいて$xを計算式の文字列...
-
PHP MySQLに画像を直接保存
-
index.phpって何ですか? 具体...
-
メールフォームのタイトルが文...
-
PHPのセッション有効期限について
-
php 完了画面の送信メールのコ...
-
in_arrayについて教えて下さい。
-
共通の処理をまとめる方法がわ...
-
PHP & MySQL: Server-side Web ...
-
最後の段階で詰まっています。R...
-
ゆゆにゃ。
-
【初心者】XAMPPのapacheの(恐...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォームのtextareaにnl2brを使...
-
ACCESSのレポートの表示...
-
機種依存文字
-
<br>が文字列で出力されてしま...
-
C#のRichTextBoxで表示行数を取...
-
改行したいのですが
-
phpの<br>\\nと\\nとエスケープ...
-
<TEXTAREA> 1行目の改行・・・。
-
PHP エディタで更新すると、ハ...
-
ブラウザの見え方について質問...
-
ブログパーツのjsファイルの書き方
-
textareaで改行させたい
-
入力テキスト内で改行コードが...
-
改行コード入り文字列を含むXML...
-
【jQuery】いい文字数カウンタ...
-
NotifyIconで二列の文字列を表...
-
末尾の改行をカットして保存す...
-
改行コードが取り切れない
-
記号文字の変換について
-
ereg_replaceの文字化けについて
おすすめ情報