获得具有特定单词并存储在数组中的句子

时间:2015-09-25 16:47:15

标签: php

我有一个字符串,我需要得到所有带有"一个"在它们中,并将它们存储在一个数组中。什么是最好,最快的方法?

$text = "I have one treehouse. I have one dog. I have two cats."

需要的结果

$array[0] = "I have one treehouse.";
$array[1] = "I have one dog.";

PS:我的示例代码字符串有点简短,但我需要使用的字符串类型在10-100页之间,那么实现此目的的最快和最好的方法是什么? / p>

1 个答案:

答案 0 :(得分:1)

你应该可以用正则表达式来做这件事。像这样:

/[\w\s]+?\bone\s?[\w\s]*?\./g

在PHP中,使用preg_match_all

$text = "i have one treehouse. i have one dog. I have two cats.";
$matches = preg_match_all('/[\w\s]+?\bone\s?[\w\s]*?\./', $text, $array);

DEMO:https://eval.in/439700

注意:您可能需要trim()每个匹配项,不确定我是否可以修复正则表达式来处理此问题。