在PHP中的preg_replace中运行一个函数

时间:2012-10-13 12:26:42

标签: php

我有一个网站,它使用PHP脚本从HTML文件加载一些数据并将其插入链接中。到目前为止它完美无缺:

$html = preg_replace('/(\d+):(\d+),/', '<a href="index.php?par1=$1&amp;par2=$2">$1&#58;$2</a>,', $html);

现在我想升级它以在链接中插入工具提示。数据从数据库加载,我有一个特殊的函数loadTooltip($param1, $param2)来完成这项工作。问题是如何从preg_replace()内调用该函数。这是我的代码,但它不运行数据只是显示带参数的函数的名称。这是代码:

$html = preg_replace('/(\d+):(\d+),/', '<a href="index.php?par1=$1&amp;par2=$2" titel="loadTooltip($1, $2)">$1&#58;$2</a>,', $html);

那么,我怎样才能让它运行?

1 个答案:

答案 0 :(得分:3)

您可以使用preg_replace_callback完成任务。

您可能需要稍微编辑函数的输出字符串。