我不想换
[a href='url']link[/a]
到
<a href='url'>link</a>
我正在使用$line = str_replace("[a href='+(.*)+']", "<a href='+(.*)+' >", $line);
不工作。
为什么不直接使用:
$search = array('[', ']');
$replace = array('<', '>');
$line = str_replace($search, $replace, $line);
您必须使用正则表达式来执行此操作
$line = preg_replace('~\\[a +href=\'([^\']+)\'\\]([^\\[]+)\\[/a\\]~', '<a href="$1">$2</a>', $line);
只需使用
$string = str_replace(array('[', ']'), array('<', '>'), $string);
这是一个很棒的教程http://www.youtube.com/watch?v=x9VLWlQhNtM它向您展示了如何制作一个小型模板引擎,它涵盖了您的要求
试试这个 :
$str = "[a href='url']link[/a]";
$new_str = preg_replace('/\[a href=\'(.*)\'\](.*)\[\/a\]/','<a href=\'$1\'>$2</a>',$str);
echo $new_str;