0
A
回答
2
str_replace
不足以完成此操作。您可以使用preg_replace
:
$res = preg_replace('#\\[link\\](?![^:]+script:)([^:<"\\[]+:)?([^<"\\[]+)\\[/link\\]#e',
"'<a href=\"'.('\\1'?'\\1':'http://').'\\2\">click here</a>'",
$input);
例子:http://www.ideone.com/lTknX
但最好使用BBCode parser。
+0
+1使用BBCode分析器的想法。如果您尝试自己实现这个功能,那么您将遇到在实现完整的基于状态机的解析器之前无法工作的边界案例。 – 2010-07-03 20:46:58
+0
链接的BBCode分析器是一个* PECL扩展*,并不是PHP内置的。 – Charles 2010-07-03 21:12:40
0
这应该为你做的:
$string = "[link]www.yahoo.com[/link]";
echo preg_replace("/\[link\](.*)\[\/link\]/", "<a href='$1'>click here</a>", $string);
相关问题
- 1. str_replace函数在PHP
- 2. PHP str_replace函数
- 3. 与str_replace函数
- 4. 与str_replace函数
- 5. PHP str_replace函数
- 6. 未知str_replace函数在URL
- 7. PHP str_replace函数在文本
- 8. PHP:如何使用str_replace函数
- 9. 使用str_replace函数
- 10. 使用str_replace函数
- 11. 使用str_replace函数
- 12. 帮助str_replace()函数
- 13. 我在做什么错str_replace()?
- 14. str_replace函数和数字
- 15. str_replace函数错小数点
- 16. str_replace函数“|”使用PHP
- 17. PHPMailer的str_replace函数多次
- 18. str_replace函数不工作
- 19. 的preg_replace或str_replace函数
- 20. str_replace函数替代了PHP
- 21. 问题与str_replace()函数
- 22. PHP:问题与str_replace函数
- 23. 使用str_replace函数找到()
- 24. PHP Str_replace for echo函数
- 25. 爆炸和str_replace函数
- 26. PHP str_replace函数错误
- 27. 函数str_replace不起作用
- 28. PHP的str_replace函数在阵极限
- 29. str_replace函数都在MySQL和PHP
- 30. str_replace只做部分工作
我不明白什么是你想做的事情。你能多解释一下吗? – 2010-07-03 19:56:33
替换[link] www.yahoo.com [/ link]至click here – alkitbi 2010-07-03 19:58:46
您能否提供一些更精确的输入和输出值?你想将“[link] www.yahoo.com [/ link]”转换为“www.yahoo.com”吗? – 2010-07-03 19:59:44