我试图通过找到一个周期的第二次出现,然后是一个空间来细化apreg_match_all
:
<?php
$str = "East Winds 20 knots. Gusts to 25 knots. Waters a moderate chop. Slight chance of showers.";
preg_match_all ('/(^)((.|\n)+?)(\.\s{2})/',$str, $matches);
$dataarray=$matches[2];
foreach ($dataarray as $value)
{ echo $value; }
?>
但它不起作用:
{2}
的出现是不正确的。我必须使用
preg_match_all
,因为我正在抓取动态html。我想从字符串中捕获这个:
East Winds 20 knots. Gusts to 25 knots.
最佳答案
这里有一个不同的方法
$str = "East Winds 20 knots. Gusts to 25 knots. Waters a moderate chop. Slight chance of showers.";
$sentences = preg_split('/\.\s/', $str);
$firstTwoSentences = $sentences[0] . '. ' . $sentences[1] . '.';
echo $firstTwoSentences; // East Winds 20 knots. Gusts to 25 knots.
关于php - 如何匹配字符串中的所有内容,直到第二次出现带正则表达式的分隔符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2513067/