0

我有一个字符串,我想用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,里面有数字。每个字符串,这些数字总是相同的。但它们在另一个字符串中的长度不同(如您在第二个示例中所见)。

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

4

1 回答 1

2

这可能会帮助你

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

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

于 2013-06-04T09:15:48.567 回答