• ベストアンサー

半角¥を全角¥に変換するために

<?PHP mb_language('ja'); mb_internal_encoding('utf-8'); $str="ok\\ok<br/>"; echo$str; mb_ereg_replace('\\','¥',$str); echo$str; ?> としましたがエラーになりうまくいきません どう修正したらいいでしょうか?

  • guuman
  • お礼率86% (1043/1206)
  • PHP
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

$str = mb_ereg_replace('\\\\','¥',$str);

guuman
質問者

お礼

ありがとうございます できました

関連するQ&A

  • 全角の”’¥を半角に変換したい

    PHPを勉強し始めた超初心者です。よろしくお願いいたします。 表題のとおり、PHPにて全角の”’¥を半角の"'\に変換したいのですが、うまくできません。 ----- A ----- $s = "”’¥"; mb_convert_kana( $s, "as" ); 結果:全て全角のまま。 ----- B ----- $s = "”’¥"; $s = mb_ereg_replace( '”', '"', $s ); $s = mb_ereg_replace( '’', '\'', $s ); $s = mb_ereg_replace( '¥', '\\', $s ); 結果:”’は半角になるんですが、¥は半角になりません。 なにか根本的に間違いがあるんでしょうか? あともう一つ、日本語環境について、 mb_language( "Japanese" ); mb_internal_encoding( "EUC-JP" ); mb_regex_encoding( "EUC-JP" ); mb_substitute_character( "none" ); mb_detect_order( "SJIS,EUC-JP,JIS,UTF-8,ASCII" ); と、ソースに指定しているのですが、ローカル環境がWindowsなので、ソースそのものはSJISになっていると思います。(コード体系管理できないテキストエディタ使用) しかしこれをそのままサーバーにアップしても、問題なく(文字化け等無く)print"サシスセソラリルレロ"; なども表示されるんですが、これはこれでいいんでしょうか? 以上、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 【PHP】半角「\」を全角「¥」に変換したい

    PHP初心者です。 バージョンは4.4.4 ファーストサーバ 文字コードはUTF-8 です。 マルチバイト文字の中の半角「\」をそれ以外の文字に変換したいのですがどうすればできるでしょうか? (1)$str = mb_ereg_replace("\\", '¥', $str); (2)$str = preg_replace("\\", '¥', $str); (1)も(2)もエラーとなり変換できません。 お詳しい方、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 【PHP】半角「\」を全角「¥」に変換したい(2)

    同じ過去の質問を見つけたのですが、実行してみたところできなかったので相談させてください。【過去質問】:http://oshiete1.goo.ne.jp/qa3065958.html PHP Version 4.4.6、文字コードはshift-JISです。 アンケートフォームで入力された値を受け取り、半角「\」があれば全角「¥」に置換したいのですが、上手くいきません。 試したのは下記の方法です。 [1]  $str = preg_replace("\\", "¥", $str); [2]  $str = mb_ereg_replace("\\\\", '¥', $str); [3]  $str = preg_replace("/\\\\/", '¥', $str); 同じ質問をされている方は文字コードが「UTF-8」で上記の[2][3]で上手くいっているようなので、文字コードを変更すればいいのかもしれませんが、現在あるフォームを修正しているので、できればshift-JISでしたい・・・と模索中です。 また、サイトの性質上「○○円の~」というようなメッセージが多いので、¥を削除することはできるだけ避けたいです。 ご指導をお願いいたします。

    • ベストアンサー
    • PHP
  • ereg_replaceの文字化け

    すみませんが、どなたか教えて下さい。 漢字をひらがなにしたいと思い、 SJISファイルの以下のソースで、 mb_internal_encoding('SJIS'); mb_regex_encoding('SJIS'); $str = "除かれた"; echo ereg_replace("除[かきくけこ]","のぞ",$str); 結果を「のぞかれた」となるようにしたいのですが、 上記だと、「のぞゥれた」となってしまいます。 どうすれば直せるか分かる方はいらっしゃるでしょうか?

    • ベストアンサー
    • PHP
  • Fatal error: Call to undefined function mb_language

    質問させていただきます。 以下の内容を実行すると、「Fatal error: Call to undefined function mb_language」と表示され、メールの送信が行えず、 過去の事例などから、php.iniのmbstringの設定や、 extension=php_mbstring.dllの設定を行いましたが、 現象は変わりませんでした。 phpinfoで確認しても、マルチバイトの設定が表示されず困っております。 mb_language("Ja"); mb_internal_encoding("SJIS"); if(mb_send_mail($to, $subject, $msg, $header)) 設定は以下のようにしました。 extension=php_mbstring.dll ※コメントを解除 ・ ・ [mbstring] ; language for internal character representation. mbstring.language = Japanese ; internal/script encoding. ; Some encoding cannot work as internal encoding. ; (e.g. SJIS, BIG5, ISO-2022-*) mbstring.internal_encoding = UTF-8 ; http input encoding. mbstring.http_input = pass ; http output encoding. mb_output_handler must be ; registered as output buffer to function mbstring.http_output = pass ; enable automatic encoding translation according to ; mbstring.internal_encoding setting. Input chars are ; converted to internal encoding by setting this to On. ; Note: Do _not_ use automatic encoding translation for ; portable libs/applications. mbstring.encoding_translation = off ; automatic encoding detection order. ; auto means mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII ; substitute_character used when character cannot be converted ; one from another mbstring.substitute_character = none; ; overload(replace) single byte functions by mbstring functions. ; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), ; etc. Possible values are 0,1,2,4 or combination of them. ; For example, 7 for overload everything. ; 0: No overload ; 1: Overload mail() function ; 2: Overload str*() functions ; 4: Overload ereg*() functions mbstring.func_overload = 0

    • ベストアンサー
    • PHP
  • 全角カナチェックが動作しません

    下記のコードでカタカナチェックを行ったのですが 正常に動作しません。 ひらがながカタカナと認識されてしまいます。。 どのように改善したらよいでしょうか・・・ <META http-equiv="Content-Type" content="text/html;charset=utf-8"> <?php /*文字エンコードはutf-8で全角カナチェックする*/ mb_regex_encoding("utf-8"); mb_internal_encoding("utf-8"); $data1="ひらがなはだめなのに"; $data2="アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンガギグゲゴザジズゼゾダヂヅデドパピプペポバビブベボッァィゥェォャュョヮー"; if(!ereg("^[$data2]+$",$data1)) print "不正な文字が使用されてます"; ?>

    • ベストアンサー
    • PHP
  • 文字コード(UTF-8)文字化けについて

    以下のphpを実行したところ、入力した文字によって文字化けしたりしなかったりします。 どなたか原因が分かる方がいらっしゃったら教えてください。 (見、一は化けない。上、実は化ける。) phpはバージョン5.2.8を使用しています。 (コード)----------------------- <html lang="ja"> <meta http-equiv="Content-type" content="text/html; charset=UTF-8" /> <head> </head> </body> <?php mb_language("Japanese"); mb_internal_encoding("UTF-8"); $org_text1 = "見"; $org_text2 = "上"; $org_text3 = "実"; $org_text4 = "一"; $telop_text1 = mb_convert_encoding($org_text1,'utf-8','ASCII, JIS, EUC-JP,SJIS'); $telop_text2 = mb_convert_encoding($org_text2,'utf-8','ASCII, JIS, EUC-JP,SJIS'); $telop_text3 = mb_convert_encoding($org_text3,'utf-8','ASCII, JIS, EUC-JP,SJIS'); $telop_text4 = mb_convert_encoding($org_text4,'utf-8','ASCII, JIS, EUC-JP,SJIS'); echo "telop_text1="; echo $telop_text1; echo "<br>"; echo "telop_text2="; echo $telop_text2; echo "<br>"; echo "telop_text3="; echo $telop_text3; echo "<br>"; echo "telop_text4="; echo $telop_text4; ?> </body> </html> (結果)------------------------- telop_text1=見 telop_text2= telop_text3=タ telop_text4=一

    • ベストアンサー
    • PHP
  • 文字化け変換方法

    PHPで「テスト」->「テスト」(UTF8)に変換することができる人はいらっしゃいますか?「テスト」はMySQLでテストが文字化けたものを正常な日本語としてMySQLに入れなおさないといけません。 どうしてもPHPのみでやらないといけなくてこういったやり方はできないので難儀しています。 http://www.miacis.co.jp/?p=160 $flag = mb_detect_encoding($str, "auto"); 「テスト」を調べたらUTF8とでたので $str = mb_convert_encoding($str, "UTF-8", "UTF-8"); で変換してもやはりダメで、 前に mb_language("Japanese");を直前に記述して $str = mb_convert_encoding($str, "UTF-8", "auto"); にしてもダメで 同じUTF8同士なので変換?というべきかわからないのですが、var_dump();で調べたとき「テスト」ではなく「テスト」として取得できるやり方またはコードヒントを教えてください。

    • ベストアンサー
    • PHP
  • mb_ereg_replace での文字変換

    PHPでフリーの掲示板を制作中です。 目立たせようとする記号を削除しましたがうまく動きません。 $html = mb_ereg_replace('△', '', 'あああ△あああ'); ・希望結果 ああああああ ・実際の結果 ああ 文字コードは全て EUC-JP です。 また以下を追加するとエラーがでました。 $str="あああ△あああ"; $str = mb_convert_encoding($str, 'EUC-JP', 'auto'); ・エラー Warning: mb_convert_encoding() [function.mb-convert-encoding]: Unable to detect character encoding in そもそもmb_convert_encodingを使わない方が良いのか使い方が悪いのかも解りませんがアドバイスお願いします。

    • ベストアンサー
    • PHP
  • 文字列のエンコードについて

    例えば以下のコードで日本人がターゲットのサイトを作ったときにエンコードがutf8以外ってありますか?idなどもutf8でなんとかなるのになぜ他の文字コードは必要なのですか? //SJISに変換 $str = "私のidはrxxdtggb63332224667です。"; $result = mb_convert_encoding($str, "SJIS"); echo $result . "\n"; //UTF-8に変換 echo mb_convert_encoding($str, "UTF-8"); //SJISに変換 $str = "gcdddyyghgcc.jpg"; $result = mb_convert_encoding($str, "SJIS"); echo $result . "\n"; //UTF-8に変換 echo mb_convert_encoding($str, "UTF-8");

    • ベストアンサー
    • PHP

専門家に質問してみよう