【发布时间】:2011-08-24 21:10:56
【问题描述】:
我想知道是否有办法在正则表达式中绑定 PHP 函数。
例子:
$path_str = '/basket.php?nocache={rand(0,10000)}';
$pattern = ? // something i have no idea
$replacement = ? // something i have no idea
$path = preg_replace($pattern, $replacement, $path_str);
然后:
echo "'$path'";
会产生类似的东西
'/basket.php?nocache=123'
不限于 'rand' 函数的表达式会更受欢迎。
谢谢
【问题讨论】:
-
您为什么还要考虑使用正则表达式?只需回显 "/basket.php?nocache=" 。兰德(0,10000);
-
因为“path_str”将存储在数据库中,但在稍后执行 cron 作业时,我想处理 path_str
-
好的,我找到了我需要的东西:preg_replace_callback 函数
-
在数据库中存储函数名称?可怕,绝对可怕,令人作呕。您应该立即停止所有操作并返回绘图板。
-
你错了,将任何逻辑离合器存储在 db 或其他地方没有什么可怕的。您如何能够在多种语言之间共享一些代码。对我来说很简单:协议+(语言+解释器)