php怎么用preg_replace替换这样的字符串?

原字符串:<tr>
需要提换成:<tbtr>,也就是tr→tbtr

有下面几种情况:
1.<ab3trghb>是需要替换成<ab3tbtrhb>的
2.tr>括号不完整是不替换的

我的方法:

$str = "<tr>2tr22</tr>";
$str1    = preg_replace("/\<.*?(tr).*?>/","tbtd",$str);
echo $str1;

这样不行

原题:

< tr name='a'>2tr22</tr> -> < tbtr name='a'>2tr22</tbtr>

括号内的tr需要替换程tbtr,括号外的不替换

阅读 3.3k
2 个回答
preg_replace("/\<(.*?)tr(.*?)>/","<$1tbtr$2>",$str);
preg_replace("/(?<=\<)(.*?)tr(?=>)/","$1tbtr$2", $str);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题