php - PHP - 提取两个单词之间的字符串作为数组的一部分
问题描述
我正在尝试获取位于单词“Free”和“LESSON”之间的一串单词,当我有一个由一个文本块组成的字符串以及一个“Free”和“LESSON”实例时,它工作得很好。我面临的挑战是当一个字符串中有多个换行符分隔的文本块时如何实现这一点?
<?php
$value = '
Sam Mutimer
3m 8s
Social Media credit
Free
How to find your social media audience
LESSON
How to find your social media audience
Sam Mutimer
3m 20s
Social Media credit
Free
Defining your social media personality
LESSON
Defining your social media personality
Sam Mutimer
2m 5s
Social Media credit
Free
Dealing with complaints on social media
LESSON
Dealing with complaints on social media';
$value = strstr($value, "Free", true); //gets all text from needle on
$value = strstr($value, "LESSON", true); //gets all text before needle
echo $value;
?>
我最好的猜测是将字符串放入一个数组中,但是如何根据换行符将现有字符串分成多个子字符串?
感谢任何帮助,谢谢。
解决方案
您可以使用正则表达式:
preg_match_all("|Free(.*?)Lesson|si", $value, $out);
var_dump($out[1]);
推荐阅读
- database - 颤振地板数据库DAO文件中的未来布尔动作?
- excel - 使用名称中带有“/”的 VBA 保存 excel 工作簿
- php - PHP用锚标记替换字符串中的URL
- c# - 无法检查 WinAppDriver 中的 Grids/StackPanels/Custom Controls 并通过 Appium 的 AccessibilityId 找到它们
- flutter - 具有标记人员功能的 Flutter TextField
- swift5 - 当我单击 UISearchController Swift 5 时,我的应用程序停止运行
- go - 用于服务间通信的基于 gRPC 的微服务架构
- javascript - 将函数 prop 传递给子组件(通过 Link 和 Route 组件)
- xamarin.forms - 如何在 Xamarin iOS 和 Android 在管道中构建任务之前替换 json 配置值
- python - 将二维向量多次添加到另一个二维向量的有效方法