很多站长朋友们都不太清楚php提取html标签,今天小编就来给大家整理php提取html标签,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php使用正则提取html标签,多个class形式的怎么提取? 2、 php用正则获取html标签内容 3、 php正则提取HTML中的内容 4、 php获取html标签内容 5、 php 提取替换指定html内的标签 6、 php正则表达式提取html标签的问题 php使用正则提取html标签,多个class形式的怎么提取?用preg_match_all(/"class=\"(.*?)\"/is")取出所有class,然后空格分割存入数组,循环判断一下
php用正则获取html标签内容推荐使用querylist
<?php
header("Content-type:text/html;charset=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正则提取HTML中的内容那就无需正则了!
php本身就有一个函数:strip_tags()
这个函数有2个参数
第一个:需要过滤的字符串, 在这里也就是你说的html, 这个函数必须
第二个:要保留的html标签, 就是设置你不想过滤掉的html标签, 这个函数可选!
在第二个参数缺省的情况下, 会将所有html标签过滤掉!
还要什么正则呢???
php获取html标签内容<? php
$str = '<a href="/p/3729597758" title="【爱心反馈】四川色达县色达中学反馈贴" target="_blank" class="j_th_tit">【爱心反馈】四川色达县色达中学反馈贴</a>';
preg_match_all('/href="(.*?) title="(.*?)"/is', $str, $arr);//正则匹配
print_r($arr);#打印匹配结果
php 提取替换指定html内的标签试编写代码供参考:
<?php
$content = <<< TTTT
<strong>开心</strong>
<li>数列1</li>
<li>数列2</li>
<li>数列3</li>
<strong>无聊</strong>
<li>数列4</li>
<li>数列5</li>
<li>数列6</li>
<strong>兴奋</strong>
<li>数列7</li>
<li>数列8</li>
<li>数列9</li>
<strong>沮丧</strong>
<li>数列10</li>
<li>数列11</li>
<li>数列12</li>
TTTT;
/*
$pattern = '%<strong>(.*?)</strong>%i';
preg_match_all($pattern,$content ,$matches, PREG_PATTERN_ORDER);
echo '问题一:提取标签内的内容的前3个:<br/>'. "\r\n";
echo $matches[1][0] . ',' . $matches[1][1] . ',' . $matches[1][2] . '<br/><br/>';
echo "\r\n". "\r\n";
echo '问题二:提取标签内的所有内容,并加序列号和html标签:<br/>'. "\r\n";
for ($i=0;$i<count($matches[1]);$i++) {
echo '<li>' . ($i+1) . '、' . $matches[1][$i] . '</li>' . "\r\n";
}
echo '<br/>';
echo "\r\n";
echo '问题三:替换成:<br/>'. "\r\n";
$pattern = '%<strong>(.*?)</strong>%i';
$temp = preg_replace($pattern, '</ul><strong>\1</strong><ul>',$content);
$temp = substr($temp,5).'</ul>';
echo $temp;
*/
$index = 0;
function doReplace($matches)
{
global $index;
$index++;
if ($index<2) {
return $index. '. ' . $matches[0]. '<ul>';
} else {
return '</ul>' . $index. '. ' . $matches[0].'<ul>';
}
}
echo '问题三1:在每一个替换的 strong 前面也加上序列号:<br/>'. "\r\n";
echo "\r\n";
$pattern = '%<strong>(.*?)</strong>%i';
$temp = preg_replace_callback($pattern, 'doReplace',$content);
echo $temp.'</ul>';
?>
运行截图:
生成的 HTML 代码:
php正则表达式提取html标签的问题$preg = '/<td[\w\W]*?Height="30">([\w\W]*?)<\/td>/';
preg_match_all($preg, $str, $arr);
foreach ($arr[1] as $val) {
echo htmlentities($val).'</br>';
}
关于php提取html标签的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php提取html标签 python提取html标签的详细内容...