我的网站上有这个功能。
function autolink($content) {
$pattern = "/>>[0-9]/i" ;
$replacement = "<a href=\"#$0\">>>$0</a>";
return preg_replace($pattern, $replacement, $content, -1);
这是为了使某些字符成为可点击的超链接。
例如,(在线程上)当用户输入'&gt;&gt; 4'来表示另一个回复号码4时,该功能可能很有用。
但它不起作用。字符不会转换为超链接。它们只是作为纯文本保留。不可点击。
有人能告诉我这个功能有什么问题吗?
答案 0 :(得分:1)
所以目标是转换:
This is a reference to the >>4 reply
...成:
This is a reference to the <a href="#4">>>4</a> reply
...其中“&amp; gt;”是HTML UTF-8等效于“&gt;”。 (记住,你不想创建HTML问题)
问题:(1)你忘记了替换(2)中的引号,因为你想要隔离数字,你需要用括号来创建一个子模式供以后参考。
执行此操作后,您将到达:
function autolink($contents) {
return preg_replace( "/>>([0-9])/i",
"<a href=\"#$1\">>>$1</a>",
$contents,
-1
);
}
祝你好运