推荐使用querylist
<?phpheader("Content-type:text/htmlcharset=utf-8")
require 'QueryList/QueryList.class.php'
$url = "要抓取的网站"
$reg = array(
"title" => array("a","text"),
"src" => array("a","href"),
)
//$rang = "[id^=post-]"
$hj = QueryList::Query($url,$reg)
print_r($hj->jsonArr)
那就无需正则了!php本身就有一个函数:strip_tags()
这个函数有2个参数
第一个:需要过滤的字符串, 在这里也就是你说的html, 这个函数必须
第二个:要保留的html标签, 就是设置你不想过滤掉的html标签, 这个函数可选!
在第二个参数缺省的情况下, 会将所有html标签过滤掉!
还要什么正则呢???
1、几种函数的简单说明:(1)preg_grep -- 返回与模式匹配的数组单元
preg_grep 返回一个input 数组中与给定的 pattern 模式相匹配的单元所组成的数组。
(2)preg_match -- 进行正则表达式匹配
说明:int preg_match ( string pattern, string subject [, array matches [, int flags]] )在 subject 字符串中搜索与 pattern 给出的正则表达式相匹配的内容。 返回值0或1。
(3)preg_replace -- 执行正则表达式的搜索和替换
(4)preg_split -- 用正则表达式分割字符串
2. 一般来说,如果用正则来获取匹配内容,一般使用 preg_match/ preg_match_all 函数。
补充回答:
正则表达式如下:
'%<div class="wap2"><span>功能</span>(.*?)</div>%si'
以下是代码,经测试,运行正常:
<?php
$str = '<div class="wap2"><span>功能</span>这里面是要获取的内容,不能确定什么字符,可能是数字(123456…)字母(babaidn…),特殊浮等(o_O\(^o^)/…)</div>'
$pa = '%<div class="wap2"><span>功能</span>(.*?)</div>%si'
preg_match($pa,$str,$r)
echo $r[1]
?>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)