PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了PHP:在特定短语/单词之后搜索文本文件并输出大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试制作一个小的PHP本来自动化一些工作流程.
脚本要做的就是读取一个文件(每个文件大约10-20kb).@H_419_2@然后,我需要在文件搜索一些特定的短语,然后输出-如果出现短语,则显示行号和短语.

例如,我有一个正在阅读和搜索的文本文件.我搜索短语“花是黄色”,“马是白色”和“混合”;

然后我的输出是:

第4行:“马是白色的”@H_419_2@第19行:“混合;”@H_419_2@第22行:“混合;”@H_419_2@第99行:“花是黄色的”@H_419_2@… 等等.

我正在使用此代码,该代码可以正确输出每行和行号,但是我无法创建仅输出搜索到的短语的搜索例程:

<?PHP
$lines = file('my-text-file.txt');

foreach ($lines as $line_num => $linE) {
    echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($linE) . "<br />\n";
}
?>  

我的方法是使用strpos,然后每次出现该短语时,它都会将其放入一个数组(或字典)中,其中行号为键,而该短语为值,但无法使其起作用,我认为可能会有更好,更有效的方法.

我们非常乐意向您提供任何帮助或建议.

谢谢@H_419_2@-梅斯蒂卡

解决方法:

function search ( $what = array (), $filePath ) {
    $lines = file ( $filePath );

    foreach ( $lines as $num => $line ) {
        foreach ( $what as $needle ) {
            $pos = strripos ( $line, $needle );
            if ( $pos !== false ) {
                echo "Line #<b>{$num}</b> : " . htmlspecialchars($linE) . "<br />\n";
            }
        }
    }
}

#   Usage:
$what = array ( 'The horse is white', 'The flower is yellow', 'mixed' );
search ( $what );

大佬总结

以上是大佬教程为你收集整理的PHP:在特定短语/单词之后搜索文本文件并输出全部内容,希望文章能够帮你解决PHP:在特定短语/单词之后搜索文本文件并输出所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: