使用PHP preg_match在其他两个字符串之间获取一个字符串

使用PHP preg_match在其他两个字符串之间获取一个字符串,php,regex,preg-match,Php,Regex,Preg Match,我有一个变量$Contents,它包含网页的内容,我需要取出以下内容: 开始: 结束:我假设第二个XXXXX应该是yyyy,或者你的意思是它可以是任何字符串 首先,您真的应该使用解析器而不是正则表达式。看看为什么 其次,回答您的问题:在*之后添加?,并在最后一个斜杠之后使用s跨行匹配,如下所示: $Contents = '<div class="XXXXX"> foo bar <div role="alacadabra">baz'; preg_match(

我有一个变量
$Contents
,它包含网页的内容,我需要取出以下内容:

开始:


结束:
我假设第二个
XXXXX
应该是
yyyy
,或者你的意思是它可以是任何字符串

首先,您真的应该使用解析器而不是正则表达式。看看为什么

其次,回答您的问题:在
*
之后添加
,并在最后一个斜杠之后使用
s
跨行匹配,如下所示:

$Contents = '<div class="XXXXX">
    foo bar
    <div role="alacadabra">baz';
preg_match("/<div class=\"XXXXX\">(.*)<div role=\".+\"/s", $Contents, $match);
echo "<p>Event Title: $match[1]</p>"; // outputs foo bar
$Contents=”
富吧
巴兹';

preg_匹配(“/(*)什么是yyyy?我在任何地方都看不到。var_转储($match)向您展示了什么?
$Contents = '<div class="XXXXX">
    foo bar
    <div role="alacadabra">baz';
preg_match("/<div class=\"XXXXX\">(.*)<div role=\".+\"/s", $Contents, $match);
echo "<p>Event Title: $match[1]</p>"; // outputs foo bar