当使用与某些html混合的preg_replace时,我一直收到此错误。
警告:preg_replace():未知修饰符'd'
这是我使用的代码。
它从包含html的字符串的开头删除了那一点html。
$foo = preg_replace("/^<div id='IDHERE'>sometext.</div>/", '', $foo);
答案 0 :(得分:1)
您需要转义/
,因为它用于结束正则表达式字符串的第一部分,之后使用修饰符,例如g
(全局),d
是那里不是一个有效的选项(来自div的d)。
将其设为\/
$foo = preg_replace("/^<div id='IDHERE'>sometext.<\/div>/", '', $foo);
答案 1 :(得分:0)
退出结束</div>
代码:
$foo = preg_replace("/^<div id='IDHERE'>sometext.<\/div>/", '', $foo);
PHP正在将结束div标记中的正斜杠解释为表达式的结尾:
/^<div id='IDHERE'>sometext.</div>/
^ PHP thinks this is the end,
then complains about the unknown modifier 'd'
答案 2 :(得分:0)
答案 3 :(得分:0)
您需要在/
中转义</div>
,因此您的正则表达式应为:
$foo = preg_replace("/^<div id='IDHERE'>sometext.<\/div>/", '', $foo);