我想用preg_replace替换一个字符串

时间:2013-06-04 09:06:31

标签: php regex preg-replace

我有一个字符串,我想用preg_replace替换。由于我对preg_replace相对较新,当我看到如何做到这一点时,它将帮助我替换项目中的所有其他字符串。

//example1:
$string = '<a title="" href="#_ftnref1">[1]</a>';
$newStr = '<img title="Anchor 1" src="anch.png" id="1">';

//example2:
$string = '<a title="" href="#_ftnref324">[324]</a>';
$newStr = '<img title="Anchor 324" src="anch.png" id="324">';

您在第一行$string中看到的内容中有数字。每个字符串,这些数字总是相同的..但它们在另一个字符串中的长度不同(正如您在第二个示例中所见)。

我已设法使用strposstr_replace等替换它......但preg_replace会更有效率。除此之外,我真的想学习preg_replace

1 个答案:

答案 0 :(得分:2)

这可能会对你有所帮助

preg_replace('/<a .*?>\[([0-9]+)\]<\/a>/', '<img title="Anchor \1" src="anch.png" id="\1">', $input_lines);

替换字符串中的\ 1表示第一组([0-9] +)