- PR -

php 数字のみの取り出し方

1
投稿者投稿内容
未記入
会議室デビュー日: 2005/09/13
投稿数: 6
投稿日時: 2005-09-26 17:33
くだらない質問で申し訳ございません
php についてご教授ください

$test = "123abc";
$num = mb_ereg_replace('[^0-9]', '', $test);
print $num;

これで半角数字のみ取り出そうとしてるのですが、うまくいきません。

どなたかご教授いただけないでしょうか。

よろしくお願いします。
冬寂
ぬし
会議室デビュー日: 2002/09/17
投稿数: 449
投稿日時: 2005-09-26 18:20
ん?intvalでいけなかったっけ?

まぁ、それはおいといて。
引用:

$num = mb_ereg_replace('[^0-9]', '', $test);


これでもいけそうな気するけど、駄目だったって事は「何かが」おかしいって事でしょ。
正規表現が怪しそうだから、まずはereg_matchで、「どういう表現が正しいのか?」を試してからmb_ereg_replaceでやってみたらどうでしょ?

(正規表現って、結構方言あるし。簡単な所から実験してって慣れてみるのがいいと思う。
mb_ereg_replaceの説明に「この関数は、 実験的なステータスにあります。」とか書いてあるし。)
gaf777
会議室デビュー日: 2003/08/20
投稿数: 19
お住まい・勤務地: 大阪
投稿日時: 2005-09-26 18:21
 こんにちは。

 下記のサイトが参考になると思います。

http://php.s3.to/man/function.ereg-replace.html
がるがる
ぬし
会議室デビュー日: 2002/04/12
投稿数: 873
投稿日時: 2005-09-26 18:50
がると申します。
ちょいと蛇足を。
mb_ereg_replace ですが、
http://dame-ne.com/php_manual/function.mb-ereg-replace.html
によると
引用:

(4.2.0 - 4.3.2 only)


とあります。
警告を読むまでもなくかなりリスキーな関数であるように
見受けられるので、可能な限り「使わない」ほうがよいと
思われます。

以上、ちょっとしたおせっかいでした。
未記入
会議室デビュー日: 2005/09/13
投稿数: 6
投稿日時: 2005-09-27 13:14
冬寂さん、gaf777さん、がるがるさん

とても参考になりました
googleなど検索して使い方などの勉強してるんですが、検索の仕方が悪いのかイマイチでした。

どうもありがとうございました
コブラ
ぬし
会議室デビュー日: 2003/07/18
投稿数: 1038
お住まい・勤務地: 神奈川
投稿日時: 2005-10-06 19:07
$num = preg_replace("/[a-zA-Z]+/", "", $test);
1

スキルアップ/キャリアアップ(JOB@IT)