Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP选择并保存文本模板_Php_Html - Fatal编程技术网

PHP选择并保存文本模板

PHP选择并保存文本模板,php,html,Php,Html,我是php/html新手,我甚至不知道php是否有这样的能力。 我想做的是从输入中选择一些文本并将其保存到txt文件中。 我有一个for,它从中提取所有文本并保存到.txt文件。但是有很多不必要的文本,这使得.txt文件很大,很难阅读。 这是我通常粘贴的文本 # userid name uniqueid connected ping loss state # 122 "bryerzavala" [U:1:167845174]

我是php/html新手,我甚至不知道php是否有这样的能力。 我想做的是从输入中选择一些文本并将其保存到txt文件中。 我有一个for,它从中提取所有文本并保存到.txt文件。但是有很多不必要的文本,这使得.txt文件很大,很难阅读。 这是我通常粘贴的文本

# userid name                uniqueid            connected ping loss state
#    122 "bryerzavala"       [U:1:167845174]     03:25      152    0 active
#    118 "zhabka"            [U:1:12080791]      05:41      109    0 active

我需要的部分只有[U:1:167845174],所以如果有一种方法可以让不需要的文本消失,文件只保存[U:X:XXXXXXXXX]部分,那就太好了

有一些选项可供选择,这完全取决于输入文本的格式:

  • 如果输入文本的格式对于每一行都是相同的,这意味着uniqueid将位于您可以使用的相同位置
    substr

  • 如果uniqueid的位置在每一行上都不同,则可以使用正则表达式提取要查找的文本行部分,在这种情况下,可以使用
    preg\u match


  • 这里有一个简单的方法。也许你会喜欢它

    # userid name                uniqueid            connected ping loss state
    #    122 "bryerzavala"       [U:1:167845174]     03:25      152    0 active
    #    118 "zhabka"            [U:1:12080791]      05:41      109    0 active
    
    我将使用您提供的file.txt示例来模拟输入数据

    old.txt

    # userid name                uniqueid            connected ping loss state
    #    122 "bryerzavala"       [U:1:167845174]     03:25      152    0 active
    #    118 "zhabka"            [U:1:12080791]      05:41      109    0 active
    
    process.php

    <?php
    $file = file_get_contents('./test.txt', true);
    
    // var_dump($file);//for debug
    preg_match_all('/\[U:\d:\d+\]/',
        $file,
        $out, PREG_PATTERN_ORDER);
    
    var_dump($out); //for debug
    
    
    //save data in your file 
    $fp = fopen("incomming.txt", "w");
    
    foreach ($out[0] as $key => $data) {
        fwrite($fp, $data.PHP_EOL);
    }
    //close file
    fclose($fp);
    
    
    echo '<hr/>';
    $lines = file('incomming.txt');
    var_dump($lines);
    

    您需要一个表单来提交数据,然后捕获所需内容并保存到txt文件。有了PHP,你为什么不使用mysql这样的数据库呢?