echo preg_replace("#\[map\](.+)\[\/map\]#e", '[link=maps.php/".$map_id[array_search("$1", $map_name)]."/$1/]$1[/link]', $text);
是我的尝试。preg替换里面的方法
我想更换
[map]map_name[/map]
到
[link]maps.php/id/map_name[/link]
我有两个数组,$map_id
和$map_name
。它们包含完全相同的项目和项目使用相同的密钥连接,例如:$map_id[123]
ID是用于该地图的:$map_name[123]
。
因为它返回我的preg_replace
不起作用:Failed evaluating code: [link=maps.php/".in_array("ksz_luminous", $map_name)."/ksz_luminous/]ksz_luminous[/link]
也许[preg_replace_callback()](http://uk1.php.net/preg_replace_callback)? – putvande
我建议你避免使用'e'标志。它会在当前PHP版本中触发不推荐使用的通知。 –