2013-03-24 50 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