===简单的正则问题===

kyzy_yy_pm 2010-08-15 10:54:52

$s = <<<s
<div id="message3446880" class="t_msgfont">我是中国人
</div>
s;

$r = '/<div id=\"message.*\" class=\"t_msgfont\">(.*?)<\/div>/';
preg_match($r, $s, $arr);
print_r($arr);

/*
不知道为什么上面数组时空的,而如果将$s改为:
$s = <<<s
<div id="message3446880" class="t_msgfont">我是中国人</div>
s;

也就是却掉字符串中的那个换行
却可以,不知道为什么
*/
...全文
44 点赞 收藏 3
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
amani11 2010-08-15

$r = '/<div id=\"message.*\" class=\"t_msgfont\">([\s\S]*?)<\/div>/';


或者这样,应该也可以,我没测,s修正,反正就是把换行也匹配进来

我水平也烂的很,一起学习吧
回复
kyzy_yy_pm 2010-08-15
多谢,请教下,那是为什么呢?
回复
amani11 2010-08-15

$r = '/<div id=\"message.*\" class=\"t_msgfont\">(.*?)<\/div>/s';//加上s即可


回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告