Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php正则表达式可以检测所有内容,甚至是换行符_Php_Regex - Fatal编程技术网

php正则表达式可以检测所有内容,甚至是换行符

php正则表达式可以检测所有内容,甚至是换行符,php,regex,Php,Regex,这是我的意见: <div class="entry-content"> <p> Hey ! </p> <h2> How Are You ?! </h2> </div><!-- .entry-content --> 嘿 你好吗?! 这是我的正则表达式 "<div class=\"entry-content\">(.*?)</div><!-- .entry-cont

这是我的意见:

<div class="entry-content">
    <p> Hey ! </p>
    <h2> How Are You ?! </h2>
</div><!-- .entry-content -->

你好吗?!
这是我的正则表达式

"<div class=\"entry-content\">(.*?)</div><!-- .entry-content -->"
“(.*)”
这样的标签在
之间没有线条时工作

<div class="entry-content"> Hey ! </div><!-- .entry-content -->
嘿! 但是我实际上需要所有东西,甚至是新行的其他html标记等等。

您应该使用like来解析XML文档(包括html),但是如果您确实需要使用正则表达式(假设为PCRE),则有一个:

s(PCRE\u DOTALL)

如果设置了此修改器,则 模式匹配所有字符,包括换行符。没有它, 不包括换行符。此修饰符相当于Perl的/s 修饰语。像[^A]这样的负类总是与换行符匹配 字符,与此修改器的设置无关

所以你可以写:

$matches = array();
preg_match_all("~<div class=\"entry-content\">(.*?)</div><!-- \\.entry-content -->~s",
    $text, $matches);
$matches=array();
预匹配所有(“~(*?)~s”,
$text,$matches);
顺便说一句:向您介绍如何使用DOM根据元素的类名获取元素。

您应该使用like解析XML文档(包括HTML),但如果您确实需要使用正则表达式(假设为PCRE),则有一个:

s(PCRE\u DOTALL)

如果设置了此修改器,则 模式匹配所有字符,包括换行符。没有它, 不包括换行符。此修饰符相当于Perl的/s 修饰语。像[^A]这样的负类总是与换行符匹配 字符,与此修改器的设置无关

所以你可以写:

$matches = array();
preg_match_all("~<div class=\"entry-content\">(.*?)</div><!-- \\.entry-content -->~s",
    $text, $matches);
$matches=array();
预匹配所有(“~(*?)~s”,
$text,$matches);
顺便说一句:向您介绍如何使用DOM根据元素的类名获取元素。

您应该使用like解析XML文档(包括HTML),但如果您确实需要使用正则表达式(假设为PCRE),则有一个:

s(PCRE\u DOTALL)

如果设置了此修改器,则 模式匹配所有字符,包括换行符。没有它, 不包括换行符。此修饰符相当于Perl的/s 修饰语。像[^A]这样的负类总是与换行符匹配 字符,与此修改器的设置无关

所以你可以写:

$matches = array();
preg_match_all("~<div class=\"entry-content\">(.*?)</div><!-- \\.entry-content -->~s",
    $text, $matches);
$matches=array();
预匹配所有(“~(*?)~s”,
$text,$matches);
顺便说一句:向您介绍如何使用DOM根据元素的类名获取元素。

您应该使用like解析XML文档(包括HTML),但如果您确实需要使用正则表达式(假设为PCRE),则有一个:

s(PCRE\u DOTALL)

如果设置了此修改器,则 模式匹配所有字符,包括换行符。没有它, 不包括换行符。此修饰符相当于Perl的/s 修饰语。像[^A]这样的负类总是与换行符匹配 字符,与此修改器的设置无关

所以你可以写:

$matches = array();
preg_match_all("~<div class=\"entry-content\">(.*?)</div><!-- \\.entry-content -->~s",
    $text, $matches);
$matches=array();
预匹配所有(“~(*?)~s”,
$text,$matches);
顺便说一句:介绍如何使用DOM根据元素的类名获取元素。

使用作业的权限,而不是尝试使用正则表达式对此进行解析

$html = <<<DATA
<div class="entry-content">
    Hey !
    How Are You ?!
</div><!-- .entry-content -->
DATA;

$dom = new DOMDocument;
$dom->loadHTML($html);

$xpath = new DOMXPath($dom);
$node  = $xpath->query('//div[@class="entry-content"]');

echo $node->item(0)->nodeValue;
对作业使用权限,而不是尝试使用正则表达式解析它

$html = <<<DATA
<div class="entry-content">
    Hey !
    How Are You ?!
</div><!-- .entry-content -->
DATA;

$dom = new DOMDocument;
$dom->loadHTML($html);

$xpath = new DOMXPath($dom);
$node  = $xpath->query('//div[@class="entry-content"]');

echo $node->item(0)->nodeValue;
对作业使用权限,而不是尝试使用正则表达式解析它

$html = <<<DATA
<div class="entry-content">
    Hey !
    How Are You ?!
</div><!-- .entry-content -->
DATA;

$dom = new DOMDocument;
$dom->loadHTML($html);

$xpath = new DOMXPath($dom);
$node  = $xpath->query('//div[@class="entry-content"]');

echo $node->item(0)->nodeValue;
对作业使用权限,而不是尝试使用正则表达式解析它

$html = <<<DATA
<div class="entry-content">
    Hey !
    How Are You ?!
</div><!-- .entry-content -->
DATA;

$dom = new DOMDocument;
$dom->loadHTML($html);

$xpath = new DOMXPath($dom);
$node  = $xpath->query('//div[@class="entry-content"]');

echo $node->item(0)->nodeValue;

可能重复的查看此处的s修改器:并尝试改用DOMDocument。可能重复的查看此处的s修改器:并尝试改用DOMDocument。可能重复的查看此处的s修改器:并尝试改用DOMDocument。可能重复的查看s修改器这里:尝试改用DOMDocument。太好了,谢谢,我稍后会尝试,但现在我也需要获取html标记,nodeValue只是文本。太好了,谢谢,我稍后会尝试,但现在我也需要获取html标记,nodeValue只是文本。太好了,谢谢,我稍后会尝试,但现在我也需要获取html标记,nodeValue只是文本。非常感谢,我稍后会尝试,但现在我也需要获取html标记,nodeValue只是文本。