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只是文本。