Parsing preg_replace不工作

Parsing preg_replace不工作,parsing,function,preg-replace,Parsing,Function,Preg Replace,我想将用户线程上的每个模式>>'number'(例如:>>4)自动转换为 <a href="#4">&gt;&gt;4</a> 所以我做了这个函数,但它不起作用 function autolink2($contents) { $pattern = "/(http|https|ftp|mms):\/\/[0-9a-z-]+(\.[_0-9a-z-]+)+(:[0-9]{2,4})?\/?"; // domain+port $pa

我想将用户线程上的每个模式>>'number'(例如:>>4)自动转换为

<a href="#4">&gt;&gt;4</a>

所以我做了这个函数,但它不起作用

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);}
你能告诉我这个功能有什么问题吗

function autolink($content) {
$pattern = "/>>[0-9]/i" ;
$replacement = "<a href=\"#\\0\">>>\\0</a>";
return preg_replace($pattern, $replacement, $content, -1);
功能自动链接($content){
$pattern=“/>>[0-9]/i”;
$replacement=“”;
返回preg_replace($pattern,$replacement,$content,-1);
这个功能很好用。这个功能会自动将URL转换成可点击的超链接。我不知道为什么第一个功能不起作用

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);}
函数autolink2($contents){
$pattern=“/(http | https | ftp | mms):\/\/[0-9a-z-]+(\.[u 0-9a-z-]+)+(:[0-9]{2,4})\/?”;//域+端口
$pattern.=“([\.~\u 0-9a-z-]+\/?)*”;//子根
$pattern.=“(\S+\.[u 0-9a-z]+)?”;//文件和扩展名字符串
$pattern.=“(\?[\u 0-9a-z\\%&=\-\+]+)*/i”;//参数
$replacement=“”;
返回preg_replace($pattern,$replacement,$contents,-1);}
试试这个

function autolink($content){
    return preg_replace('#\>\>([0-9]+)#','<a href="#$1">>>$1</a>', $content);
}
功能自动链接($content){
返回preg#u replace('\>\>([0-9]+)','$content);
}

测试和工作。

这可能是一个很长的尝试,但是在你的代码> $替换< /代码>中取代<最后的两个>代码> >代码>,你可以考虑数字超过一个数字的情况,即<代码> > 10代码>代码。