我想用相應的輸入字段替換日期模式字符串(intl擴展名)。preg_replace:忽略已替換的部分
模式可以是:
dd.MM.yy
dd.MM.yyyy
M/d/yy
M/d/yyyy
dd/MM/y
dd/MM/yyyy
我的代碼是:
$date_pattern = 'M/d/yy';
$search = array('/[d|dd]/', '/[M|MM]/', '/[y|yy|yyyy]/');
$replace = array(
'<input type="text" name="day" size="2" maxlength="2">',
'<input type="text" name="month" size="2" maxlength="2">',
'<input type="text" name="year" size="4" maxlength="4">');
print preg_replace($search, $replace, $date_pattern);
問題是,認爲 「的preg_replace」 匹配已經在第一替換輸入字段的位置處:
<input t[here because of the 'y' character]pe="text" ...>
有什麼辦法可以告訴preg_replace忽略已經更換的零件嗎?
見http://stackoverflow.com/questions/11361943/php-preg-更換功能,更換,先前的比賽。說實話,要麼只是製作一個正則表達式並且一次替換所有的部分就更簡單了,但我認爲對於你的具體問題的答案是你不能。 –