1 回答
TA贡献1877条经验 获得超6个赞
改用正则表达式:
public function get_string_between($string, $start, $end)
{
$re = $start.'(.*?)'.$end.'/m';
preg_match_all($re, $string, $matches, PREG_SET_ORDER, 0);
return($matches);
}
如果要测试正则表达式:
$re = '/<p>(.*?)<\\\\\/p>/m';
$str = '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam pulvinar sollicitudin risus, et aliquam ante efficitur non. Pellentesque vel lorem euismod, efficitur turpis eu, vehicula tellus. Aliquam pretium nulla a ex sollicitudin fringilla. Praesent lacus nibh, consequat nec imperdiet nec, volutpat id lacus. Suspendisse tristique nisl sapien, imperdiet lobortis lectus vulputate dapibus. Curabitur vulputate enim felis. Curabitur vehicula risus et nisi vehicula luctus. Quisque id urna ut sem volutpat accumsan. Curabitur ut odio faucibus massa ultricies auctor. Curabitur id vulputate mi, dignissim varius turpis. In hac habitasse platea dictumst. Proin suscipit ex ut neque facilisis pellentesque. Ut et efficitur sapien.</p>
<p>Nulla facilisi. Phasellus maximus dui sed maximus sodales. Aliquam imperdiet est a elit sollicitudin, id lobortis lectus vehicula. Sed ut accumsan ligula. Maecenas id scelerisque risus, non pharetra nisi. Praesent rhoncus sem turpis, sed fermentum orci aliquet et. Sed vitae turpis id eros commodo maximus. Praesent fringilla eros nisl, ac cursus mauris iaculis vel. Donec vulputate ornare augue eget pulvinar.</p>';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
- 1 回答
- 0 关注
- 105 浏览
添加回答
举报