php – 在它们的开头删除具有特定模式的行
发布时间:2020-12-13 17:20:26 所属栏目:PHP教程 来源:网络整理
导读:我有一个大约25,000行的文本文件.大约525kb. 有些行在开头有随机文本. 有些人用长串分号. 其他一些只有三个分号,然后在同一行上有一个空格和可选的更多文本.这些是我想要删除的行. 这是一个样本…. ;;; Updated Time 20120706122706 ;;; Generic DEveloper O
我有一个大约25,000行的文本文件.大约525kb.
有些行在开头有随机文本. 其他一些只有三个分号,然后在同一行上有一个空格和可选的更多文本.这些是我想要删除的行. 这是一个样本…. ;;; Updated Time 20120706122706 ;;; Generic DEveloper Output ;;; Some Random Comments ;;; I got some more... ;;; Yet another uneeded line ;;; Thanks for using StackOverflow <https://stackoverflow.com>,or... ;;; Not. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Banana Production [Data_Release_Version] Version=12586 Released=20120706122706 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Baseline Properties [BaseLineProperties] Comment=BaselineProperties – – – 等等. 一旦它到达第一行4或更多;在线上,我需要文件的其余部分,因为没有“;;;”行. 如果它不匹配“;;;”,试图快速找到一些东西,而不是阅读所有内容并将其写回. 文件是ASCII(可能是UTF-8)文本类型文件. 有任何想法吗? 感谢您的时间,帮助和知识. 解决方法
我建议使用file_get_contents()并将变量中的文件内容保存为字符串,然后在每个换行符中使用explode()字符串,然后在foreach循环中,使用preg_match()检查行是否以3个分号和一个空格,如果它有剂量,则把它放在另一个名为$output的数组中.在foreach之后,implode()$输出并添加换行符并使用file_put_contents()将其打印在另一个文件中.希望这可以帮助 :-)
码: <?php $string = file_get_contents($filename); $array = explode("n",$string); foreach($array as $arr) { if(!(preg_match("^;;;s",$arr))) { $output[] = $arr; } } $out = implode("n",$output); file_put_contents($path,$out); ?> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |