html代码是
<html>
<head>
123
</head>
<body>
some text
</body>
</html>
和php代码是
$body='<html>
<head>
123
</head>
<body>
some text
</body>
</html>';
$ragid = "/<head> s*(.*?) </head>/i";
preg_replace($ragid, $head, $body);
,错误是
Warning: preg_replace() [function.preg-replace]: Unknown modifier 'h'
我想用123 {my code}
替换123怎么可能?
答案 0 :(得分:2)
使用其他分隔符,例如
$ragid = "|<head> s*(.*?) </head>|i";
答案 1 :(得分:1)
您可能需要在正则表达式的/
中转义</head>
。
答案 2 :(得分:0)
而不是
$ragid = "/<head> s*(.*?) </head>/i";
使用
$ragid = "/<head> s*(.*?) <\/head>/i";
否则正则表达式仅/<head> s*(.*?) </
和head>/i
被解释为修饰符
答案 3 :(得分:0)
删除不必要的空格并转义/
:
$ragid = "/<head>s*(.*?)<\/head>/i";
preg_replace($ragid, $head, $body);