我需要什么是正确的正则表达式?

时间:2012-11-07 22:03:38

标签: php preg-replace

我想在相对较大的文本中使用php的preg_replace搜索并替换字符串。

搜索:[3,Name] 替换:<a href="/Name/3/">Name</a>

有人可以帮我构建正确的查询吗?

感谢。

3 个答案:

答案 0 :(得分:2)

帮助构建查询:

 0: [3,Name]

 1: "[" "3" "," "Name" "]"
     1   2   3    4     5

 2: "[" \d+ ","   \w+  "]"
         1         2           

 3: "<a href=\"" 2 "/" 1 "/\">" 2 "</a>

 4: "<a href=\"Name/3/\">Name</a>"

如果要创建正则表达式,则需要先找到您的模式。

答案 1 :(得分:1)

我会使用类似的东西:

#\[(\d+),(\w+)\]#i

所以结果会是这样的:

preg_replace('#\[(\d+),(\w+)\]#i', '<a href="/$2/$1/">$2</a>', $text);

答案 2 :(得分:0)

我会使用explode()

$string='[3,Name]';
$string=str_replace(array(']','['),array('',''),$string);//remove the brackets
$array= explode(',',$string);
echo '<a href="/'.$array[1].'/'.$array[0].'/">'.$array[1].'</a>'

根据输入的可变性,可能会进行一些错误检查。