preg_replace не работает - PullRequest
       14

preg_replace не работает

0 голосов
/ 19 марта 2012

Я хочу автоматически преобразовать каждый шаблон >> 'число' (например: >> 4) в пользовательских потоках в

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

Итак, я сделал эту функцию, но она не работает.

Не могли бы вы сказать мне, что не так с функцией?

function autolink($content) {
$pattern = "/>>[0-9]/i" ;
$replacement = "<a href=\"#\\0\">>>\\0</a>";
return 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);}

1 Ответ

1 голос
/ 19 марта 2012

Попробуйте это

function autolink($content){
    return preg_replace('#\>\>([0-9]+)#','<a href="#$1">>>$1</a>', $content);
}

Протестировано и работает.

...