PHP - 提取 2 个单词之间的字符串作为数组的一部分

PHP - extract string between 2 words as part of array

我正在尝试获取位于单词“Free”和“LESSON”之间的一串单词,当我有一个由一个文本块和一个实例“Free”和“”组成的字符串时,它工作得很好课程”而已。我面临的挑战是当一个字符串中有多个换行符分隔的文本块时如何实现这一点?

<?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]);