0
我想用一个生成的值,使用该特定的id替换链接中的一个id。比如我有(可能)包含链接的字符串:用链接替换链接哈希使用链接
Lorem ipsum dolor sit amet, consectetur adipiscing elit
http://www.example.com/file/1
Curabitur volutpat nulla purus, vitae pharetra diam commodo porttitor
http://www.example.com/file/2
我要替换这两个ID与功能,这是我改变取决于他们是在页面上的结果(在这种情况下,唯一的将每个页面上的链接链接到相同的文件)。我想我需要一个preg_replace(),但我如何将id作为变量传递给替换函数?
例如,像(伪代码):
function hash_it($file_id, $page_id) {
return md5($file_id . $page_id);
}
$page_id = 1;
$text = preg_replace('"\b(http://www.example.com/file/\d+)"', hash_it($1, $page_id), $text);
提前感谢!
感谢您的回答,不知道preg_replace_callback()函数。但是...我如何将id传递给函数? – Wietse
@Wietse正如我所说,请参阅样本的手册页。如果你想在回调函数中的数组中找到它,你必须使用'()' –
对你的正则表达式进行分组。这是我需要的!变量$ matches [2]给了我我需要的:id。谢谢! – Wietse