1

我不想换

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

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

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

4

5 回答 5

7

为什么不直接使用:

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

$line = str_replace($search, $replace, $line);
于 2013-03-05T13:20:56.563 回答
2

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

$line = preg_replace('~\\[a +href=\'([^\']+)\'\\]([^\\[]+)\\[/a\\]~', '<a href="$1">$2</a>', $line);
于 2013-03-05T13:22:40.687 回答
1

只需使用

$string = str_replace(array('[', ']'), array('<', '>'), $string);
于 2013-03-05T13:22:38.663 回答
0

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

于 2013-03-05T13:21:33.943 回答
0

试试这个 :

$str = "[a href='url']link[/a]";
$new_str  = preg_replace('/\[a href=\'(.*)\'\](.*)\[\/a\]/','<a href=\'$1\'>$2</a>',$str);
echo $new_str;
于 2013-03-05T13:23:12.060 回答