我有一个字符串,我想用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
答案 0 :(得分:2)
这可能会对你有所帮助
preg_replace('/<a .*?>\[([0-9]+)\]<\/a>/', '<img title="Anchor \1" src="anch.png" id="\1">', $input_lines);
替换字符串中的\ 1表示第一组([0-9] +)