我想将用户线程上的每个模式>>'number'(例如:>> 4)自动转换为
<a href="#4">>>4</a>
所以我做了这个功能,但它没有用。
你能告诉我这个功能有什么问题吗?
function autolink($content) {
$pattern = "/>>[0-9]/i" ;
$replacement = "<a href=\"#\\0\">>>\\0</a>";
return preg_replace($pattern, $replacement, $content, -1);
此功能运作良好。此功能自动将网址转换为可点击的超链接。我不知道为什么第一个功能不起作用。
function autolink2($contents) {
$pattern = "/(http|https|ftp|mms):\/\/[0-9a-z-]+(\.[_0-9a-z-]+)+(:[0-9]{2,4})?\/?"; // domain+port
$pattern .= "([\.~_0-9a-z-]+\/?)*"; // sub roots
$pattern .= "(\S+\.[_0-9a-z]+)?" ; // file & extension string
$pattern .= "(\?[_0-9a-z#%&=\-\+]+)*/i"; // parameters
$replacement = "<a href=\"\\0\">\\0</a>";
return preg_replace($pattern, $replacement, $contents, -1);}
答案 0 :(得分:1)
试试这个
function autolink($content){
return preg_replace('#\>\>([0-9]+)#','<a href="#$1">>>$1</a>', $content);
}
经过测试和工作。