代替我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