PHP通过值数组将句子拆分为部分

PHP通过值数组将句子拆分为部分,php,regex,split,Php,Regex,Split,我正在寻找最好的方法来做到这一点。。。是否存在一些方便的正则表达式?或者我应该一节一节地玩它 好吧,我有这样一句话: "The rooms rooms and rooms again were great, the food was not but the beds were extremely comfortable." 我有一系列项目(delimeters): 我想以某种方式神奇地获得这两个词之间的句子部分…如拆分它(从一个delimeter到另一个delimeter),如果可以理解的话

我正在寻找最好的方法来做到这一点。。。是否存在一些方便的正则表达式?或者我应该一节一节地玩它

好吧,我有这样一句话:

"The rooms rooms and rooms again were great, the food was not but the beds were extremely comfortable."
我有一系列项目(delimeters):

我想以某种方式神奇地获得这两个词之间的句子部分…如拆分它(从一个delimeter到另一个delimeter),如果可以理解的话

第一节:

"The"
第二部分(直到距离阵列最近的项目(delimeter):

第三部分:

"rooms and "
第四部分:

"rooms again were great, the"
"food was not but the ".
"beds were extremely comfortable."
第五节:

"rooms again were great, the"
"food was not but the ".
"beds were extremely comfortable."
第四部分:

"rooms again were great, the"
"food was not but the ".
"beds were extremely comfortable."
基本上是把句子从一个关键词反复地拆分成另一个关键词

delimeters的目的是分割句子…所以只要匹配它…如果句子中有一个单词“房间”,它就匹配delimeter“房间”。复数并不重要,重点是根据delimeters(数组中的项目)将句子分割为多个部分

有什么想法吗?

可以使用:

输出()

Used
i(PCRE\u CASELESS)
。可能需要在某些单词中添加
\b

另请参见:,

可以使用:

输出()

Used
i(PCRE\u CASELESS)
。可能需要在某些单词中添加
\b


另请参见:,

数组是否总是两个单词,或者可能更多?Michael,可能会有更多的单词。如果有3个或更多单词,它将如何分隔?现在,您拥有第一个单词之前的所有内容,包括第一个单词,中间的所有内容,以及从第二个单词开始到结尾的所有内容。如果有第三个单词,它是否与第四个单词匹配e开始还是结束?请用3个单词举例说明会发生什么。那么“房间”中的s呢word?您在原始句子中有它,但在示例和分隔符中没有arrayMichael和Marcin感谢您的关注。请我更新了我的问题。数组是否总是两个单词,或者可能更多?Michael,可能会有更多的单词。如果有3个或更多单词,它将如何分隔?现在,您拥有最多一个单词的所有内容nd包括第一个单词,中间的所有单词,以及从第二个单词开始到结尾的所有单词。如果有第三个单词,它会匹配它的开头还是结尾?请发布一个例子,说明三个单词会发生什么。那么“房间”中的s呢word?你在原文中有,但在示例和分隔符中没有arrayMichael和Marcin。谢谢你的关注。我已经更新了我的问题。似乎这正是我需要的。我会玩一点确定,然后我会把它标记为答案。现在谢谢你Johnny!@Trki欢迎!也和你一起看r数组。如果有包含在单词中,则需要添加项目。爱零宽度拆分,+1:)@Jonny5有没有办法选择整个单词?示例:$pattern='/(?=room | food | bed)/i'$string=“卧室很棒。”拆分->[0]=>卧室很棒?啊,我一直在使用错误的语法,这就是为什么它对我不起作用。又来了!你是最棒的:)看起来这正是我需要的,我会玩一点,确定一下,然后我会把它标记为一个答案。谢谢你,约翰尼@欢迎光临!另请参见您的阵列。如果有包含在单词中,则需要添加项目。爱零宽度拆分,+1:)@Jonny5有什么方法可以选择整个单词吗?示例:$pattern='/(?=room | food | bed)/i'$string=“卧室很棒。”拆分->[0]=>卧室很棒?啊,我一直在使用错误的语法,这就是为什么它对我不起作用。又来了!你是最棒的:)