2013-03-24 46 views
0

我想寫一個函數,它將string1作爲輸入,抓取兩個參數之間的任何文本,操縱抓取的字符串,然後返回整個事物。正則表達式字符串操作-php

例如,假設我有這個:[嗨]我的名字是[約翰]。

我想有這樣的:

 <a href='Hi'>Hi</a> my name <a href='is'>is</a> John. 
+1

「兩個參數字符串」你的意思是「括號」(或在你的例子,方括號中)? – Floris 2013-03-24 18:10:44

+0

(可能對此感興趣http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags) – 2013-03-24 18:11:34

回答

0
preg_replace('/\[(.*?)\]/', '<a href="$1">$1</a>', $str); 
+0

有趣的遊戲,誰曾經發現(相當平凡)輸入這失敗獲得5個互聯網點。 – 2013-03-24 18:12:00

+0

@WouterJ,這是一種魅力。如果我希望它是[[$ string]]而不是[$ string]呢? – qeroqazo 2013-03-24 18:25:45

+0

然後你把'\ ['轉換成'\ [\ ['和'\]'到'\] \]'中。或者你把'[['和']]'放入一個變量中,並通過使用[.'運算符](http://php.net/operators.string)並使用['preg_quote']將其放入正則表達式中(http://php.net/preg-quote)自動轉義保留字符 – 2013-03-24 18:27:30