如何编写一个 PHP 脚本来搜索 PHP 文件以获取特定信息?

Posted

技术标签:

【中文标题】如何编写一个 PHP 脚本来搜索 PHP 文件以获取特定信息?【英文标题】:How to write a PHP script that searches a PHP file for specific information? 【发布时间】:2021-08-31 17:07:31 【问题描述】:

免责声明:这是我第一次涉足 php 和一般脚本 - 我的所有开发经验都在 ios(Swift 和 Objective-C)中。我已经开始做教程了。

我们有一个很大的.php 文件,我们称之为objects.php,其中包含许多静态变量。

结构看起来像这样:

'ObjectDictionaryTom' => [
    A_Class::NAME => "Tom"
]

'ObjectDictionaryDick' => [
    A_Class::NAME => "Dick"
]

'ObjectDictionaryHarry' => [
    A_Class::NAME => "Harry"
]

'ObjectDictionaryAlsoTom' => [
    A_Class::NAME => "Tom"
]

结构不一致;有时,它甚至看起来像这样:

`Objects` => [

'ObjectDictionaryTom' => [
    A_Class::NAME => "Tom"
],

'ObjectDictionaryDick' => [
    A_Class::NAME => "Dick"
],

'ObjectDictionaryHarry' => [
    A_Class::NAME => "Harry"
],

'ObjectDictionaryAlsoTom' => [
    A_Class::NAME => "Tom"
]

]

如何阅读该文件并获取所有属于“Tom”的对象?也许将它们收集在 CSV 中?

我很乐意根据需要进行编辑或进一步解释!

【问题讨论】:

输出会是什么样子? @JNevill 为了清楚起见,我只是添加了一些代码:预期的输出是:ObjectDictionaryTom, ObjectDictionaryAlsoTom 使用array_filter,3v4l.org/SPJNb,重复嵌套对象 所以这不是有效的 PHP,是文件中的内容吗? @AbraCadaver 或多或少...我无法准确分享代码 - 我分享的内容是否过于不切实际? 【参考方案1】:

这样的事情怎么样:

'(.*?)'\s*=>\s*\[[\n\r\s]*\s*(.*?)\s*=>\s*"(.*?)"

As you can see here at regex101.com

您可以在提供的侧栏中看到哪些捕获组存储了哪些值 - 特别是,您想要的那些在捕获组1(第一组括号)中。

要访问它们,只需从结果中获取捕获组 1 的值。

【讨论】:

以上是关于如何编写一个 PHP 脚本来搜索 PHP 文件以获取特定信息?的主要内容,如果未能解决你的问题,请参考以下文章

我正在编写一个 PHP 函数来搜索 Wordpress 模板文件中的邮政编码数组。为啥我的函数不返回值?

如何使用curl使用php上传文件[关闭]

如何通过php页面执行shell脚本?

如何在移动浏览器上使用 PHP 强制下载文件?

如何编写 PHP 双重选择订阅表单

php 命令行脚本运行php文件简单演示