您好我有一个小插件系统,我使用这个短代码例如: {谷歌} {计算器/谷歌}
我希望它用谷歌搜索链接的链接替换该部分,在这种情况下: 计算器
我该怎么做?我有这个,但它不起作用:
preg_replace('#{google}([^{]+){/google}#i', '<a href="http://www.google.com?s=$1">$1</a>', $content);
答案 0 :(得分:1)
你需要逃避花括号,即使用\{
和\}
。
preg_replace('#\{google\}([^{]+)\{/google\}#i', '<a href="http://www.google.com?s=$1">$1</a>', $content);
答案 1 :(得分:1)
这里的关键是使用非贪婪的算子,并逃避一切。
preg_replace('#\{google\}(.*?)\{/google\}#i','<a href="http://www.google.com?s=$1">$1</a>', $content);
答案 2 :(得分:1)
你的正则表达式无效。试试这个:
preg_replace('#\{google\}[^\{]+\{/google\}#i', '<a href="http://www.google.com?s=$1">$1</a>', $content);
答案 3 :(得分:-1)
preg_replace('#{google}([^{]+){\/google}#i', '<a href="http://www.google.com?s=$1">$1</a>', $content);