0
我想每個模式>>「數字」轉換(如:>> 4)用戶線程自動的preg_replace不工作
<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);}
這可能是一個長鏡頭,但將'> >'放在'$ replacement'而不是最後兩個'>>'裏怎麼辦?另外,您可能想要考慮數字超過一位的情況,即「>> 10」。你可以使用正則表達式''/ >> [0-9] +/i「'。 – 2012-03-19 01:20:50