php用正则获取html标签内容

php用正则获取html标签内容,第1张

推荐使用querylist

<?php

header("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]

?>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6121265.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存