1

内部に日付が含まれている可能性のある文字列を変更しようとしています。

"This is the test string with 22/12/2012. 23/12/12 could anywhere in the string"

日付がdmy ieの形式になるように、上記の文字列を変更する必要があります

"This is the test string with 22-12-2012. 23-12-12 could appear anywhere in the string"

編集: 日付は年単位で変更される可能性があることに注意してください。つまり、2012 または 12 を使用できます。つまり、2012 年 6 月 20 日、2012 年 6 月 20 日です。年のみ 2 桁または 4 桁で、残りは同じです。

どんな助けでも大歓迎です。

乾杯、

4

3 に答える 3

0

次のようなことを試すことができます:

preg_replace('~\b([0-2]?[1-9]|3[01])/(0?[1-9]|1[0-2])/(?=(?:\d\d|\d{4})\b)~', '$1-$2-', $str);

有効な日付のみに一致する必要があります。プレフィックス0が存在しない日付に一致します。たとえば4/16/13、これが望ましくない場合は、最初の 2 つの疑問符 ([0-2]?0?)を削除します。

于 2013-04-16T14:02:04.660 に答える