日付をすべて2桁(07/02、 06/30)にしたい
a.html内にある日付のデーターを取ってきて日付をすべて2桁(もし 7/2 ならば 07/02 、6/30 ならば 06/30)にしたいのですが、なかなかうまくいきません。
自分で作ったプログラムa.phpでは最初の日付しか2桁になりませんでした。
-------------a.html---------------
<>06/25、7/2<>13:00~13:55<>あああああ<>
<>06/25、8/2<>19:00~20:00<>いいいいい<>
<>6/27<>19:00~21:48<>ううううううう<>
<>06/27、7/3、7/4、7/12<>19:58~20:54<>ええええええええ<>
<>7/1<>13:54~17:00<>おおおおおおお<>
--------------a.php----------------
<?
$filename = "a.html";
$filedata = @file($filename);
$filedata = @join("",$filedata);
preg_match_all('/(<>(.*?)<>.*<>.*<>)/',$filedata, $match);
for($i=0;$i<count($match[0]);$i++){
$match[2][$i] = explode("、", $match[2][$i]);
//////////この辺がうまくできない///////
for($m=0;$m<count($match[2][$i]);$m++){
$match[2][$i][$m] = explode("/", $match[2][$i][$m]);
$match[2][$i][$m][0] = sprintf("%02d", $match[2][$i][$m][0]);
$match[2][$i][$m][1] = sprintf("%02d", $match[2][$i][$m][1]);
$match[2][$i][$m] = $match[2][$i][$m][0]."/".$match[2][$i][$m][1];
$match[2][$i] = join("、",$match[2][$i]);
}
print $match[2][$i]."<br>";//←最後はこの形で表示できるようにしてもらいたいです//
}
?>
どなたか教えてください。m(_ _)m
よろしくお願いします。
補足
先頭一桁の検索は、/^(.)/ か /(.)?/、/(.).*/、/(.)/ですか。 ありがとうございます。 (.)*と(.)?と(.).*と(.).*? は、どのような意味なのでしょうか? ちょっと違いますが、下記を実行すると <?php $var="Japan America France England"; if(preg_match("/\b([AIUEOaiueo]*)\b/",$var,$result)){ print_r($result); print("<br>"); }else{ print(一致しませんでした。); } if(preg_match("/\b([AIUEOaiueo]?)\b/",$var,$result)){ print_r($result); print("<br>"); }else{ print(一致しませんでした。); } if(preg_match("/\b([AIUEOaiueo].*)\b/",$var,$result)){ print_r($result); print("<br>"); }else{ print(一致しませんでした。); } if(preg_match("/\b([AIUEOaiueo].*?)\b/",$var,$result)){ print_r($result); print("<br>"); }else{ print(一致しませんでした。); } ?> 結果は、 Array ( [0] => [1] => ) Array ( [0] => [1] => ) Array ( [0] => America France England [1] => America France England ) Array ( [0] => America [1] => America ) となりました。 (.)*は最長マッチ、(.)?は最短マッチだそうですが、何もセットされません。 ちょっとお手上げ状態になりました。 正規表現を覚えるのは、パターンでも覚えるのでしょうか? それとも、こういうのも理解しないといけないでしょうか?