PHP REGEX preg_match_all every line after a particular line
Here is the sample string with my regex and code:
$str = "Supp Fees:
----------
Oral Glucose
Glucagon
OXYGEN";
$ptn = "/----------(?:\r\n(.+))+/m";
preg_match_all($ptn,$str,$matches);
echo"<pre>";
print_r($matches);
echo"</pre>";
I'm trying to match every line after '----------' the pattern above only returns the 开发者_开发问答first line (Oral Glucose). I can repeat the '\r\n(.+)' part and return another line but there is no telling how many lines there will be.
Thanks!
You could do this without regex:
$data = substr($str, strpos($str, '----------') + 10);
$matches = explode("\r\n", $data);
<?php
$str = "Supp Fees:
----------
Oral Glucose
Glucagon
OXYGEN";
$str = explode('----------', $str);
preg_match_all("/[^\r\n].*/", $str[1], $matches);
echo"<pre>";
print_r($matches);
echo"</pre>";
?>
?
精彩评论