代替我wan't怎麼可能從PHP字符串
[a href='url']link[/a]
到
<a href='url'>link</a>
我使用$line = str_replace("[a href='+(.*)+']", "<a href='+(.*)+' >", $line);
不工作來代替。
代替我wan't怎麼可能從PHP字符串
[a href='url']link[/a]
到
<a href='url'>link</a>
我使用$line = str_replace("[a href='+(.*)+']", "<a href='+(.*)+' >", $line);
不工作來代替。
你必須使用正則表達式來做到這一點
$line = preg_replace('~\\[a +href=\'([^\']+)\'\\]([^\\[]+)\\[/a\\]~', '<a href="$1">$2</a>', $line);
爲什麼不直接使用:
$search = array('[', ']');
$replace = array('<', '>');
$line = str_replace($search, $replace, $line);
這是一個偉大的教程http://www.youtube.com/watch?v=x9VLWlQhNtM它表明你如何做一個小的模板引擎,它涵蓋了你的要求
只需使用
$string = str_replace(array('[', ']'), array('<', '>'), $string);
試試這個:
$str = "[a href='url']link[/a]";
$new_str = preg_replace('/\[a href=\'(.*)\'\](.*)\[\/a\]/','<a href=\'$1\'>$2</a>',$str);
echo $new_str;
「你必須使用正則表達式」不,你不需要。 – 2013-03-05 13:23:13
如果他只是想做到這一點,這是最快的方式 - 當然,你可以有不同的東西 – Philipp 2013-03-05 13:24:16
嗯......一旦你得到嵌套標籤,你很可能會想要。當然,這不是你真的需要......你也可以編寫一個編譯器。 – Mchl 2013-03-05 13:24:22