【发布时间】:2012-07-17 23:07:01
【问题描述】:
我需要将大括号 ('{}') 中的每个数字都转换为超链接。问题是,字符串可以包含多个模式。
$text = 'the possible answers are {1}, {5}, and {26}';
preg_match_all( '#{([0-9]+)}#', $text, $matches );
输出数组是这样的
Array (
[0] => Array ( [0] => {1} [1] => {5} [2] => {26} )
[1] => Array ( [0] => 1 [1] => 5 [2] => 26 )
)
这是我当前的代码。
$number=0;
return preg_replace('#{([0-9]+)}#','<a href="#$1">>>'.$matches[1][$number].'</a>',$text);
$number++;
但是输出是这样的
The possible answers are
<a href="#1">1</a>, <a href="#5">1</a>, and <a href="#26">1</a>
仅获取“1”($matches[1][0])。
我该如何解决这个问题?
【问题讨论】:
标签: php regex arrays preg-replace preg-match