如何从PHP字符串中替换

时间:2013-03-05 13:19:34

标签: php regex

我不想替换

[a href='url']link[/a]

<a href='url'>link</a>

我正在使用$line = str_replace("[a href='+(.*)+']", "<a href='+(.*)+' >", $line);无效。

5 个答案:

答案 0 :(得分:7)

为什么不使用:

$search = array('[', ']');
$replace = array('<', '>');

$line = str_replace($search, $replace, $line);

答案 1 :(得分:2)

您必须使用正则表达式来执行此操作

$line = preg_replace('~\\[a +href=\'([^\']+)\'\\]([^\\[]+)\\[/a\\]~', '<a href="$1">$2</a>', $line);

答案 2 :(得分:1)

只需使用

$string = str_replace(array('[', ']'), array('<', '>'), $string);

答案 3 :(得分:0)

这是一个很棒的教程http://www.youtube.com/watch?v=x9VLWlQhNtM它向您展示了如何制作一个小模板引擎,它涵盖了您的要求

答案 4 :(得分:0)

试试这个:

$str = "[a href='url']link[/a]";
$new_str  = preg_replace('/\[a href=\'(.*)\'\](.*)\[\/a\]/','<a href=\'$1\'>$2</a>',$str);
echo $new_str;