1
我有一個代碼塊,將採取類似下面的文本塊替換非HTML鏈接方法和以下正則表達式:與<A>標籤
preg_replace_callback('/http:\/\/([,\%\w.\-_\/\?\=\+\&\~\#\$]+)/',
create_function(
'$matches',
'$url = $matches[1];
$anchorText = (strlen($url) > 35 ? substr($url, 0, 35).\'...\' : $url);
return \'<a href="http://\'. $url .\'">\'. $anchorText .\'</a>\';'),
$str);
將示例文本轉換爲如下形式:
示例文本示例文本< A HREF = 「http://www.google.com」>http://www.google.com </A>示例文本
我現在的問題是,我們已經推出了豐富的文本編輯器可以在發送到腳本之前創建鏈接。我需要更新這段代碼,以便它會忽略已經在標籤內的任何URL。
你的第一個表達式匹配正確,以及剛剛返回$比賽[0]當$匹配[1]不爲空,我可以解決這個問題很容易。但是你的第二個表達式返回:未知的修飾詞「一」 – tombazza 2010-01-26 12:59:26
對不起,我忘了斜線/中,以便將需要<\/a>否則它認爲它是結束模式,一個是修改 – 2010-01-26 14:09:00