2011-01-27 86 views
1
$string = '20110306'; 
$pattern = '(\d{6})(\d{2})'; 
$replacement = '$101'; 
echo preg_replace($pattern, $replacement, $string); 

我希望它呼应20110301PHP正则表达式查找和替换

我以前http://gskinner.com/RegExr/拿出搜索和替换模式,也许我失去了一些东西,当它来替换找到的模式。

它给了我以下警告:

消息:的preg_replace()[function.preg替换]:未知的修饰词 '('

回答

5

两个变化:

  1. 你需要在一对分隔符之间放置正则表达式,例如/ ::

    $pattern = '/(\d{6})(\d{2})/'; 
    
  2. $101是指组号101。你的意思是要追加到01组号1所以更改

    $replacement = '$101'; 
    

    $replacement = '${1}01'; 
    

See it

0

通过~~在$模式更换()。

+0

或甚至任何其他有效的正则表达式分隔符。 – Spudley 2011-01-27 17:24:36