【发布时间】:2015-03-21 16:37:09
【问题描述】:
我正在尝试检测标签并从 PHP 中的文件中删除带有字符的整个标签。这是我要替换或删除它的文本文件的一部分:
//CODE START//
Some Content Between Tags
//CODE END//
我写了这段代码:
$File = file_get_contents('file.text');
$File = preg_replace( "#//CODE START//(.+?)//CODE END//#is", '', $File );
file_put_contents('new.text', $File);
问题是,代码不工作!有了这个我可以删除第一行:
$File = preg_replace( "#//CODE START//#i", '', $File );
但是我怎样才能删除所有这 3 行?从 //CODE START// 一直到 //CODE END//。
谢谢
更新:我找到了:
$File = preg_replace( "/\/\/CODE START\/\/(.+?)\/\/CODE END\/\//ims", '', $File );
【问题讨论】:
-
您是否尝试使用
m修饰符来允许多行匹配? php.net/manual/en/reference.pcre.pattern.modifiers.php -
s 也可以完成这项工作。
-
我该怎么做?我的代码哪里出了问题?
-
为什么要更改更新中的分隔符?
#的可读性更高。 -
能否给我看一下带有#的代码?