我有一个与 php 相关的 pcre 问题。
我必须为特定文件编写一个小解析器,而且我不太了解正则表达式,所以我需要一些帮助。
这是输入...
blah blah [{img:xyzname}] one more blah blah[{root}]
and [{php:<?php ...echo 'phpcode';......?>}]
...所以我必须用我的值替换这些值,所以这就是我所做的...
$alt=preg_replace_callback('|\[{(.*[^}\]])}\]|iU',
function ($match){
$m=explode(':',$match[1]);
switch($m[0]){
case 'img':
return $m[1]
break;
case 'php':
// i want that php code here in $m[1] but i am getting nothing
break;
default:
return 'UNDEFINED';
break;
}
}
},$this->content);
$this->content=$alt;
我用许多模式和许多测试尝试了很多次,但我注意到我得到 null 或没有,只有当我的[{php:<?php .....?>}] contains <? and only when I put < ?
.