php - 如何在PHP中的某个字符之后获取一行?
问题描述
我使用 explode() 但我只能在同一行中获取关键字之前或之后。但是如果我想在关键字后面加一行例如
你好谷歌
早上好脸书
下午好推特
如何通过使用“Google”作为搜索关键字来获得“早上好 Facebook”?
每次搜索的行号都不相同,但关键字相同。
我的条件是我无法将所有示例文本作为一个字符串。内容在一个文件中,所有文件都是一个字符串。我必须搜索特定的关键字,然后我需要关键字行之后的一整行。
解决方案
非正则表达式解决方案:
循环数组的行,当找到“Google”时,将数组位置继续到下一项。
然后,如果 line 不为空且 found 为 true,则中断循环, line 将是您要查找的行。
$str = 'Hello Google
Good morning Facebook
Good Afternoon Twitter';
$arr = explode("\n", $str);
$found = false;
foreach($arr as $line){
if(strpos($line, "Google")){
$found = true;
continue;
}
if($found && $line != "") Break;
}
Echo $line;
推荐阅读
- php - Cowin (api sethu) 集成(未经身份验证的访问错误)
- android - Android 资源链接失败 - 在 xml 中未发现语法错误
- python - 如何忽略 \n 并将其显示为 python 中的纯文本
- wordpress - 在多个类别小部件上使用过滤器
- javascript - 如何在javascript中嵌套异步函数的回调?
- javascript - 如何使用动态 D3.js 可折叠树保存 JSON 文件
- c++ - 从 MainWindow 类访问另一个类的 Qt UI
- macos - dyld:未加载库:通过 SPM 添加 SwiftSyntax 时
- ionic-framework - 电容器没有创建“资源”文件夹
- r - 在 R Studio 服务器中移动 jar 文件