PHP:在特定词组/单词之后搜索文本文件并输出

|| 我正在尝试制作一个小的php脚本来自动化一些工作流程。 脚本要做的就是读取一个文件(每个文件大约10-20kb)。 然后,我需要在文件中搜索一些特定的短语,然后输出-如果出现短语-行号和短语。 例如,我有一个正在阅读和搜索的文本文件。我搜索短语“花是黄色”,“马是白色”和“混合”; 然后我的输出是: 第4行:“马是白色的” 第19行:“混合;” 第22行:“混合;” 第99行:“花是黄色的” … 等等。 我正在使用此代码,该代码可以正确输出每行和行号,但是我无法创建仅输出搜索到的词组的搜索例程:
<?php
$lines = file(\'my-text-file.txt\');

foreach ($lines as $line_num => $line) {
    echo \"Line #<b>{$line_num}</b> : \" . htmlspecialchars($line) . \"<br />\\n\";
}
?>  
我的方法是使用strpos,然后每次出现该短语时,它都会将其放入数组(或字典)中,其中行号为键,短语为值,但无法使其起作用,我认为可能会有更好,更有效的方法。 我们非常乐意为您提供任何帮助或建议。 谢谢 -梅斯蒂卡     
已邀请:
        
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 );
    
        创建一个将grep输入的脚本并将结果通过管道传递到PHP脚本。     
        将此: 在文本文件中查找字符串,然后在该行中添加一些内容     

要回复问题请先登录注册