preg_replace不会根据需要替换值

时间:2016-06-01 22:33:01

标签: php regex pcre

假设我们有一个php数组$ row_mid,其中包含'reaction_l0','reaction_l1','reaction_r0','reaction_r1'等字符串(在每种情况下,数字从0到4)。这些字符串由{{括起来我希望运行一个循环并使用preg_replace()删除这些字符串:

<div>

regexp ^ reaction _。[0-9] $是在https://regex101.com/的帮助下开发的,并使用字符串$i = 0; while ($i < count ($row_mid)){ $row_mid [$i] = preg_replace ("~^reaction_.[0-9]$~", "", $row_mid [$i]); $i++; } 成功测试(不匹配,我需要标记保持原样)和{ {1}}(匹配)。但是,它不起作用。

2 个答案:

答案 0 :(得分:3)

摆脱锚点,因为它们只允许正则表达式匹配整个字符串,而不是当它被包含在标记中时。

$row_mid [$i] = preg_replace ("~reaction_.[0-9]~", "", $row_mid [$i]);

答案 1 :(得分:1)

只需删除两个符号^和$