[PHP-users 13049] 任意の数値を特定文字列にフォーマットする方法

sorako yamamoto php-users@php.gr.jp
Wed, 05 Feb 2003 07:28:23 +0000


こんにちは。お世話になります。

日付が入った文字列の日付部分をYYYYMMDDの形式に
3桁の数値が入った文字列の数値部分をAAAの形式に変換したいです。


イメージとしては
	20030206_TEST.php		→ YYYYMMDD_TEST.php
	TEST_20030207.php		→ TEST_YYYYMMDD.php
	TEST_20030208_TEST.php	→ TEST_20030208_TEST.php
	TEST_666.php		→ TEST_AAA.php
	901_TEST.php		→ AAA_TEST.php

日付、3桁の数値ともに任意のものが入ります。



$sStr = "20030206_TEST.php" ;

$nLen = strlen( $sStr );
for( $nI = 0 ; $nI < $nLen; $nI++ ) {
  if( is_int( $sStr[$nI] ) ) {
   $nFrom_index = $nI ;
   for( $nJ = $nI ; $nJ < $nLen ; $nJ++ ) {
    if( !is_int( $sStr[$nJ] ) || $nJ == $nLen - 1 ) {
     $nTo_index = $nJ - 1 ;
     break ;
   }
  }
  break ;
 }
}

として、$nFrom_indexと$nTo_indexを取るところまでは考え付きましたが、
この先で行き詰まってしまいました。

しかも、いまデバックしてみたら、
数値でも、if( is_int( $sStr[$nI] ) )に入ってない…
文字列として認識されているみたいです…
うーん。

どなたかアドバイスをお願いします。
また他に効率的な方法があれば合わせてアドバイスをお願い致します。








_________________________________________________________________
ウイルスメール、迷惑メール対策なら MSN Hotmail  http://www.hotmail.com/