2011-04-05 98 views
3

我正在進行一些聊天,並且遇到問題:我禁用了HTML,但必須有可能插入鏈接。所以我決定將它們標記爲PHP:如何替換特定標籤及其結束標籤?

[LINK]http://anylink.com[/LINK]. 

現在,在文本中可能有多個這樣的鏈接。我怎麼能取代他們都具有以下:

<a href="http://anyling.com">http://anylink.com</a> 

感謝你的幫助,我不與href標記得到它:S

+0

鏈接與通過'http:// '作爲前綴被大多數瀏覽器突出顯示爲可點擊鏈接。 – Shoe 2011-04-05 20:12:15

回答

4
$string = preg_replace('%\[LINK\](.*?)\[/LINK\]%','<a href="$1">$1</a>', $string); 
1
$output = preg_replace('/\[LINK\](.+?)\[\/LINK\]/',"<a href=\"\\1\">\\1</a>",$input); 
+0

你忘了逃避backref變量。 – 2011-04-05 19:40:04

+0

不,我沒有...... – 2011-04-05 19:44:34

+1

@完全,是的,是的,你做到了。雙引號上下文中的$ 1將被視爲一個變量,可能是未定義的變量。它不會被視爲反向引用。使用單引號或回調參考,如下所示:'\\ 1' – 2011-04-05 19:48:08