已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。
3天前关闭。
Improve this question
我想查找并替换此文本[token:math:1]
,其中最后一个数字是动态的,它可以是[token:math:2]
我尝试PHP preg_match_all('/[filter:([^]]+)]/')
,但它似乎不工作.
这是我的PHP代码。
$text = "Hello world [token:math:1] today";
echo process($text);
function process($text) {
if (preg_match_all('/[token:math:\d+]/', $text, $matches, PREG_SET_ORDER)) {
foreach ($matches as $match) {
$replacements[$match[0]] = fn($matches[1]);
}
$new_text = str_replace(array_keys($replacements), array_values($replacements), $text);
}
return $new_text;
}
function fn($match){
return "test";
}
1条答案
按热度按时间jtw3ybtb1#
也许可以使用
preg_replace_callback
。这就是你想要的吗?
结果: