• ベストアンサー

上手い置換方法は?

いつも助けてくださってありがとうございます。 PHPの置換で困っています。 全てが三桁の数字がいくつか変数で送られてくるんですけど 100はそのまま使いたいのですが001など一桁や2桁の数字の場合 左側の0が邪魔になる場合があります。 そこで、正規表現で右側に0があれば削除すればいいことまではわかったのですが、肝心の関数の使い方が上手く解かりません ereg_replaceだと思うんですけど実際どう使用したらいいのか教えていただけませんか??

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

  • ベストアンサー
  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.3

$str = "100"; $str = sprintf("%d",$str); print $str;

noname#20805
質問者

お礼

整数に変換するわけですね! ありがとうです!!

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

その他の回答 (2)

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

$str = "001"; $i = 0 + $str; print $i;

noname#20805
質問者

お礼

確かにあってますね。 盲点でした。

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

 intに型キャストするのでは駄目ですか?  

noname#20805
質問者

お礼

ググって見ました。 (int), (integer) - 整数へのキャスト ってことですね。 早速試してみたいと思います!

noname#20805
質問者

補足

$filename =ereg_replace('^0|^00', "", $filename); で動作しました!! これであってるのかな??

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

関連するQ&A

  • php 正規表現で、\マークを取り除くには?

    php で ereg_replace関数を使って¥マークを取り除きたいのですが、 ereg_replace("\\", "",$str); と記述すると Warning: ereg_replace() [function.ereg-replace]: REG_EESCAPE in C:\xampp... とエラーになってしまいます。 どうすれば正規表現により円マークを取り除くことができるのでしょうか?

    • ベストアンサー
    • PHP
  • スペースを置換するには・・・

    今日PHPを使い始めたばかりの初心者です。 「スペース」を「文字」に変換するために 下記のような正規表現を書いたのですがうまく いきません。 $xxx = ereg_replace( "\s", "aaa", $xxx ); ネットで調べまくったのですが、どこがおかしいのか よくわかりません。 アドバイスをお願いします。

    • ベストアンサー
    • PHP
  • 【PHP】ereg_replace() にて置換の実行有無の確認方法は?

    PHP(Ver5)について質問です。 ereg_replace() 等の置換関数は実際に置換したか(マッチしたか)否かの応答はないのでしょうか? 現状、置換前文字列と置換後を比較して確認しているのですが、なんだか原始的のような気がして… 効率的な方法がありましたら教えてください。よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 正規表現で <span>~</span>で囲まれた文字を別の文字に置換したい

    こんにちは。正規表現についてお教えいただけないでしょうか? HTMLページを解析し、<span>と</span>で囲まれた範囲を、別の文字列に置換したいのです。 そこで以下のようにしてみました。 print mb_ereg_replace("<span>.+?</span>","置換文字",$source); しかし<span>ああ </span>と、スペースがないと反応しないようなのです。 正規表現の間違いでしょうか? お教えいただけると助かります。よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPの正規表現「ereg」で特定の数字範囲をマッチさせたい

    PHPの正規表現「ereg」で特定の数字範囲をマッチさせたい 宜しくお願い致します。 PHPの正規表現で、0~99までの数字があり、そのうち、「4~6」と「11~15」までの数字以外の場合にマッチさせる正規表現について教えて下さい。 自分なりに作ってみた正規表現パターンは下記の通りです。 ereg("([^4-6]{1})|[^11-15])",$hoge) もしくは ereg("([^4-6]{1})|[^11-15]{2})",$hoge) で試してみましたが、「4~6」はマッチしないのですが、「11~15」の時にもマッチしてしまいます。 どうすればいいのか、どなたか助けて下さいー!

    • ベストアンサー
    • PHP
  • ある文字列から特定のタグとその中身を削除する方法について教えてください

    ある文字列から特定のタグとその中身を削除する方法について教えてください。 PHP4.3.9を使って作業する予定でスキルアップをしています。 表題の件について、教えていただければと存じます。 例えば、下記の文字列があるとします。  "あ<b>いいいい</b>う<b>ええええええええ</b>お" この<b>タグに囲まれた文字だけを削除して、"あうお"という文字を取得したいのです。 preg_replace関数、mb_ereg_replace関数を使えば出来そうな予感はするのですが 恥ずかしながら正規表現の書き方が分からず、やりたいことが実現できておりません。 これらの関数に限らず、簡単に実現できる方法があればご教授いただけないでしょうか。 以上、宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • スラッシュの正規表現(置換)

    php初心者で更に正規表現(置換)が特に苦手なので、教えてください。 例えば下記のurlで http://www.goo.ne.jp/ を一番後ろの"/(スラッシュ)"だけとって、 http://www.goo.ne.jp にするにはどうしたら宜しいでしょうか? ちなみに、 http://www.goo.ne.jp/test のような場合は、何もしない事も出来るのでしょうか? いまいち方法が分からず、こんな感じで行ったのですが、 $url = preg_replace("\///", "\\1",$url); エラーが出てしまいます。

    • ベストアンサー
    • PHP
  • 正規表現について

    変数の文字列を範囲指定して削除しようとしています。 正規表現を使って範囲指定したいのですが、うまくいきません。 <span class="shimei"> ~ </span> というのは正規表現でどのように書くのでしょうか? $name = mb_ereg_replace("<span class=\"shimei\">.*</span>","",$name); これはどこが間違っているのでしょうか?

    • ベストアンサー
    • PHP
  • 正規表現での置換えについて

    正規表現を使った置換えでどうやったらいいのか悩んでいます。 やり方は、カンマで区切られた数字や英字の列をその先頭だけ残して別の記号(?など)に変換するというものです。 変換例 222,1,33333 は 2??,1,3???? へ置換え 55,22aa は 5?,2??? へ置換え 6 は 6 へ置換え(つまりそのまま) このような置換えをすることは可能でしょうか。 こういう置換えはand条件が使えないと無理なのかなとも思ったりしています。 ただ正規表現にはand条件は無いようですし。(or条件はあるようですが) mb_ereg_replaceを使って明示していただけると助かります。 もちろん複数行になっても問題ありませんし、mb_ereg_replaceでは無理という場合に別の関数を使っていただいても結構です。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 【VBScript】正規表現で数字の前0(ゼロ)を削除

    【VBScript】正規表現で数字の前0(ゼロ)を削除 ある変数に3桁の数字が格納されています。 例えば、001とか099とか403とか800とかです。 やりたいことは、数字の頭のゼロを削除したいです。 001→1 099→99 403→403のまま 800→800のまま 正規表現でなくても良いですが、 よろしくお願いします。