我有一个文字,我想做像维基代码,用[[]]和东西创建链接。
我正在使用这个preg_replace来做这件事,它似乎有效:
<?=preg_replace("/\{\{([^\*]+)\|([^\*]+)\|([^\*]+)\}\}/", "<a href='$1.php#$2'>$3</a>", $conditions['pattern']); ?>
问题在于,当我有这个文本“可以[不]构建%{{types | location | location}} %% {{some | other | stuff}}%”时,它会输出:
can[not] build at %<a href="types|location|location}}% %{{some.php#other">stuff</a>%
就像只有最后一个被替换,但错了。
有什么想法吗?感谢
答案 0 :(得分:1)
固定!
我将正则表达式更改为/\{\{([a-zA-Z]+)\|([a-zA-Z]+)\|([a-zA-Z ]+)\}\}/
,现在它可以正常工作:D