[PHP-users 13052] Re: 任意の数値を特定文字列にフォーマットする方法
Osamu Shigematsu
php-users@php.gr.jp
Wed, 05 Feb 2003 17:13:37 +0900
重松です。こんにちは。
> $str =~ s/\d\d\d\d\d\d/YYYYMMDD/g;
これだと、要件満たしませんが。> XXX_20030101_XXX.ext は置換しない。
\d{8} と書けばいい気も。\d{6} でなくて。
echo "<?php var_dump(preg_replace('/\d{6}/','YYYYMMDD','20030101.txt')); ?>" | php -q
string(14) "YYYYMMDD01.txt"
^^
それに日付以外でも「単なる 8 桁の数値」はなんでも YYYYMMDD に置換され、
都合が悪いでしょう。
元の要件がいまいちわからなかったので、コメントしませんでしたが、
正規表現を使えば済むと思います。
日付の確認は、そういう関数もあることだし。
--
Osamu Shigematsu <m5issige@mr.hitachi-medical.co.jp>