PHP 读取带有以下标签的文本文件

PHP Read Text File With Following Labels

所以我有这些包含一些详细信息的文本文件,我想 PHP 单独提取和分发每个数据。

文本文件中的示例数据:

Plugin Name: Sample Framework
Description: This is a sample framework
Author: User Friendly

我想要的是从特定标签中获取每个数据,比如如果我想获取 "Plugin Name",那么预期结果将是:

Sample Framework

如果我想获得说明,则为:

This is a sample framework

但是我不知道该怎么做。 preg_replace 或 preg_match 可能会起作用,但是如果文本文件中有隆隆声数据,我认为这不会起作用,但我愿意接受任何答案。

我也有这个现有的功能来确定我想显示什么样的细节。

参见下面的示例:

<?php
function getDetails($var){
    if($var=='pname'){
        //get the plugin name
    }
} ?>

我认为有很多平台可以做到这一点,但我想不通。

这应该适合你:

只需使用 file() 将您的文件读入一个数组,然后提取第一行作为键,另一行作为数据,然后您可以 array_combine() 在一起。

<?php

    $lines = file("test.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    $lines = array_map(function($v){
        return explode(":", $v);
    }, $lines);

    $data = array_combine(array_map("array_shift", $lines), array_map("array_pop", $lines));

    print_r($data);

?>

输出:

Array
(
    [Plugin Name] =>  Sample Framework
    [Description] =>  This is a sample framework
    [Author] =>  User Friendly
)