我有以下字符串:正则表达式错误preg_replace_callback():未知修饰符'。'在
last_name, first_name
bjorge, philip
kardashian, [kghim]
mer#$##Code:menu:51587daa7030e##$#cury some more
data #$##Code:menu:515r4387daa7dsf030e##$#, freddie
IM试图取代与功能的中间代码:“codeParser”的正则表达式是:
$PC_File = preg_replace_callback("(?=\#\$\#\#).*?(?<=\#\#\$\#)", 'codeParser', $PC_File);
,但得到这个错误:
PHP Warning: preg_replace_callback() : Unknown modifier '.'
@Ashish我很高兴这只是一个评论,而不是一个答案:P – AD7six
既然定界符问题已经解决了,那么让我们来讨论一下这些概念。 ''/ #\$##(.*?)##\$#/''与您的正则表达式所做的相同,但效率更高。捕获组允许你直接访问'Code'值(通过'$ matches [1]'),所以你不必在单独的步骤中去除周围的东西。 –