正则表达式匹配空格换行的问题

<p>
<i>9月24日</i>

<a href="/jiaju/11092408_12464806.htm" target="_blank">出售木制沙发一对、转椅一个、码边机一台。</a>

<span class="adr"><a href="/qitajiaju/" class="adds">其他</a></span>

- 900元

</p>

这样一段源码,我想用正则表达式匹配出标题,写法如下
$r = file_get_contents($url); //用file_get_contents将网址打开并读取所打开的页面的内容

$zz="#</i>\s<a href=\"(.*)\" target=\"_blank\">(.*)</a>\s<span class=\"adr\">#iUs";

preg_match_all($zz,$r,$booktitle);//匹配此页面的标题

结果匹配空 请高手指点
感谢你的回复,你的回答我还是很满意的,但是:你这样的方法会采集到除列表以外的URL,这样比如目标列表页地址是:

赶集网物品交易列表页

我是想问比如我写的这个正则(空格换行怎么表示)
$zz="#</i>这里空格换行怎么表示<a href=\"(.*)\" target=\"_blank\">(.*)</a>这里空格换行怎么表示<span class=\"adr\">#iUs";

拜托。。。

第1个回答  2011-09-27
preg_match_all("/<td class=\"test\">([\w\W]*?)<\/td>/i",$str,$content);
第2个回答  2011-09-26
<title> 页面的标题 </title> ???追问

preg_match_all 匹配列表 新闻列表

追答

1.匹配此页面的标题
2.新闻列表
3. 9月
4.24日
5. 900元
--你到底要哪一部分,给清楚了,从哪到哪....

追问

匹配
出售木制沙发一对、转椅一个、码边机一台。
标题和URL是我想要的

追答

"#\s*([^<]+)(?=\s*<\/a\b)#i" ;

追问

你写的方法不仅仅匹配出列表,还匹配出其他的URL等,最好能多加点匹配条件比如举例
"#\s*([^ 到

这2段中间的空白怎么表示

追答

中间的空白: \s+

本回答被提问者采纳
相似回答