替换多次出现的动态字符串

时间:2014-01-17 03:51:22

标签: php regex preg-replace

我将说明我正在做的代码:

我的数据包含如下字符串:

[[-55-]], [[-75-]]

我用它来做类似的事情:

$var = 'hi my name is [[-55-]] and I think yoda looks like a bald green [[-75-]].';
$var = str_replace('[[-', '<img src="/', $var);
$var = str_replace('-]], '">', $var);

我想做的是最终得到的图像输出如下:

<a href="/stuff/55/"><img src="/55.png"></a>

问题是,这需要的不仅仅是一个简单的str_replace而且我在正则表达式上的表现非常糟糕。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

类似的东西:

$var = 'hi my name is [[-55-]] and I think yoda looks like a bald green [[-75-]].';
$result = preg_replace('/\[\[-(\d+)-\]\]/', '<a href="/stuff/\1/"><img src="/\1.png"></a>', $var);