我想要使用以下短代码在帖子[amazon region=com asin=xxxxxx]
中自动生成Amazon Affiliate链接。
我如何获得'地区' a和' asin'从这个字符串,并将它的每次出现转换为我的PHP函数getAffiliateLink("com","xxxxxxxx")
?
我可以在页面上有多个不同数字的字符串。
我一直在研究preg_replace和regex,但我无法弄清楚如何为这个特定的例子做这件事。
答案 0 :(得分:0)
好的,我找到了解决方案。因为我想用函数替换字符串,所以我必须使用preg_replace_callback()
。
这是我的工作解决方案:
$content = preg_replace_callback('/\[amazon region=([^\b]+) asin=([^\b]+)\]/', 'callback', $content);
function callback ($matches) {
print_r($matches);
return getAffiliateLink("$matches[1]","$matches[2]");
}
echo $content;