我试图通过找到一个周期的第二次出现,然后是一个空间来细化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/

10-10 00:08