php单独输出每个单词,PHP:在特定短语/单词之后搜索文本文件并输出

我正在尝试制作一个小的php脚本来自动化一些工作流程.

脚本要做的就是读取一个文件(每个文件大约10-20kb).

然后,我需要在文件中搜索一些特定的短语,然后输出-如果出现短语,则显示行号和短语.

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

然后我的输出是:

第4行:“马是白色的”

第19行:“混合;”

第22行:“混合;”

第99行:“花是黄色的”

… 等等.

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

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

foreach ($lines as $line_num => $line) {

echo "Line #{$line_num} : " . htmlspecialchars($line) . "
\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 #{$num} : " . htmlspecialchars($line) . "
\n";

}

}

}

}

# Usage:

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

search ( $what );

标签:strpos,readfile,foreach,arrays,php

来源: https://codeday.me/bug/20191208/2090359.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值