http://www.oschina.net/question/195686_46313
<title>标题</title>
<title>
标题
</title>
我自己写的正则表达式是 "<title>.*?</title>" (没有双引号) 只能匹配第一种,,但是不能匹配第二种,,有没有好的正则表达式匹配类似第二种这样换行的标签
试试这个
<title>[\s\S]*?</title>
---------------------
php版的 /<title>.*?</title>/m
--------------------------
$pattern
=
'/<title>([\S\s]*?)<\/title>/'
;
-----------------------------
//正则提取,匹配次数
$match_nums =preg_match_all('/<title>([\S\s]*?)<\/title>/',$article, $matchs);
//匹配项是一个二维数组
//echo print_r($matchs);
//返回完整匹配次数(可能是0),或者如果发生错误返回FALSE。
if($match_nums == 0 || $match_nums == FALSE ){
//没有匹配就原样返回
return array();
}
//第一个是完整匹配,第二个匹配就是去掉title标签的纯文本
$title = $matchs[1][0];