【问题标题】:delete a specific lines between two symbols in .txt file (php) [closed]删除.txt文件(php)中两个符号之间的特定行[关闭]
【发布时间】:2014-09-22 15:39:04
【问题描述】:

如何使用 php 删除文本文件中两美元之间的行:

lorem upsum  lorem upsum 
lorem upsum  lorem upsum lorem upsum
$

lorem upsum
lorem upsum
lorem upsum

$
lorem upsum
lorem upsum
lorem upsum

lorem upsum
lorem upsum
lorem upsum

谢谢你

【问题讨论】:

  • 请与我们分享您的尝试以及为什么没有奏效。
  • 您必须在 php 中读取文件并将其转换为数组,因此文件的每一行都是一个位置向量,如果您通过替换或删除进行比较,则比较相等
  • @Dexxtz 好主意,可以举个例子吗?
  • @Bouraoui 请参阅下面的答案。

标签: php file


【解决方案1】:

这不是一件容易的事,但这是可行的。

$source_file = file_get_contents('file.txt');
$source = preg_replace('/(\$)(.*)(\$)/s',"$1 $3", $source_file);

file_put_contents('file.txt', $source);
echo $source;

【讨论】:

    【解决方案2】:

    代码是这样的,你可以做些什么来验证条件字符串是否有 $ 并做一些事情。

    如果您不更改,请取消注释计算字符串的行

    <?php
        $archive = "text.txt";
        $search = "$";
        $arrayArchive = file($archive);
    
        for($i = 0; $i < sizeof($arrayArchive); $i++){
            //echo $arrayArchive[$i] . ' - ' . strlen($arrayArchive[$i]) . ' == ' . $search . ' - ' . strlen($search) . '<br />';
            if($arrayArchive[$i] == $search){
                $arrayArchive[$i] = '';
            }
        }   
        file_put_contents($archive, implode("", $arrayArchive));
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-28
      • 2022-11-25
      • 1970-01-01
      • 2014-04-06
      • 2016-05-05
      • 1970-01-01
      • 2014-09-29
      相关资源
      最近更新 更多