我现在要取这个页面的到之间这段内容里的title的值和href的值,因为这个页面其他地方也有这种格式,所以现在直接用 $contents_key = '~~';preg_match_all($contents_key,$html,$contentskey);
这样会把dd标签外的相同格式的也包含进来,问下这个正则应该怎么写?
回复讨论(解决方案) 分两步就是了,先把dd标签内的内容匹配出来,再应用你的正则。
先把到之间的抓去出来 然后再去解析里面的title和链接
分两步就是了,先把dd标签内的内容匹配出来,再应用你的正则。
但是现在直接抓取dd标签也是抓取不到的
这dd标签中间有很多空格,我用(.*?)匹配不到。
你最终想要的结果是什么?
你最终想要的结果是什么?
我就想要title=“这里是我要的” href=“这里也是我想要的”,而且最好是一个正则,感觉两个正则要匹配两次,效率是不是有点太低了?
$s=<<
爱丽丝连衣裙
爱丽丝梦游仙境
爱丽丝疯狂回归
爱丽丝花盆
爱丽丝手办
alice
女仆
爱丽丝学园
爱丽丝菲尔
爱丽丝手包
爱丽丝复古
试试用这个匹配dd的内容
$pattern = '/.*/is'
修饰符i:不分大小写
修饰符s:模式里的一个点将匹配所有字符,包括换行.没有他,换行将被排除在外.这个修饰符等同于perl里面的/s修饰符
$contents_key = '~([\s\s]*?)~';
我自己想了个,这个搞定。
