当前位置:首页 » 编程语言 » php正则html

php正则html

发布时间: 2022-05-10 14:54:01

1. php正则表达式查找html内容

php正则表达式查找html内容的方法:
preg_match('/<p align=\"center\"><big><strong>(.*?)<\/strong><\/big><\/p>/',$str,$result);
代码解释:
$str就是上面的html里面的内容;
$result就是匹配到的字符串,可以print_r($result);看看里面就有你要的结果,或者直接echo $result[1];
就是“在LINUX下配置MYSQL、PHP和JSP”这几个字符了。

2. 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);

3. php使用正则表达式去掉html中的注释方法

最近在项目中在需要输出浏览器中的源文件需要去掉html中的注释,在网上看了很多的方案,不过很多的答案都是一样的,并不能解决我的问题,于是就自己写正则表达式,也对正则有了更加深刻的理解。
首先比较基础的是:
$a
=
'<!--ceshi-->ceshi';
$a
=
preg_replace('#<!--.*-->#'
,
''
,
$a);
var_mp($a);
上面的代码会输出ceshi。
但是如果是下面的字符串的话,就不能达到我们希望的效果了
$a
=
'<!--ceshi-->ceshi<!--ceshi-->';
$a
=
preg_replace('#<!--.*-->#'
,
''
,
$a);
var_mp($a);
于是我们就把匹配规则改成如下的格式
preg_replace('#<!--.*?-->#'
,
''
,
$a);
但是在html中如果有<!--[if
lt
IE
9]>ceshi<![endif]-->这样的代码的话是不能去掉的,所以我们需要改进匹配规则,改成以下的格式
preg_replace('#<!--[^\!\[]*?-->#'
,
''
,
$a);
又接着如果html中有<script><!--ceshi//--></script>的代码,我们又需要改一下我们的匹配规则了,改成了以下格式
preg_replace('#<!--[^\!\[]*?(?<!\/\/)-->#'
,
''
,
$a);
这样的话我基本上就去掉了我需要去掉的html的注释了!
以上就是小编为大家带来的php使用正则表达式去掉html中的注释方法全部内容了,希望大家多多支持脚本之家~

4. php正则表达来获取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…)字母(badn…),特殊浮等(o_O\(^o^)/…)</div>';
$pa = '%<div class="wap2"><span>功能</span>(.*?)</div>%si';
preg_match($pa,$str,$r);
echo $r[1];
?>

5. PHP正则表达式如何匹配HTML标签

这个问题类似求括号配对. 用正则方法可能不行. 可以这样:

1) 字符串分析法求解: 建立一个计数器, 同时从前向后扫描 html 内容, 从要选择的段落开头开始, 每次读到一个 <td ..> 标签, 计数器加一, 每次读到一个 </td> 标签, 计数器减一, 如果 没有意外, 当计数器减为零时, 就找到了配对的 td 结束标签.

2) 用 XmlDocument 读取整段 html, 然后利用 DOM 的一系列方法选择出你要的内容.

6. php正则表达式匹配HTML

<?php
$str='<tr>
<tdrowspan="2"class="col">20150630</td>
<tdclass="col">AAAA</td>
<tdclass="col">BBB</td>
<tdclass="col">CCC</td>
<tdclass="col">DDD</td>
</tr>';

preg_match_all('/<td[^>]*>(.*?)</td>/is',$str,$matched);
print_r($matched[1]);
exit;

7. php正则提取HTML中的内容

那就无需正则了!
php本身就有一个函数:strip_tags()
这个函数有2个参数
第一个:需要过滤的字符串, 在这里也就是你说的html, 这个函数必须
第二个:要保留的html标签, 就是设置你不想过滤掉的html标签, 这个函数可选!

在第二个参数缺省的情况下, 会将所有html标签过滤掉!

还要什么正则呢???

8. php 正则匹配<html> 的问题。

<html>(.*)</html> 这样根本不行,因为源代码里面有换行ch(13),还有一些 tab键,应该这样:

preg_match('/<html>([\s\S]*)</html>/iU',$get,$data);
在这里 $get 是所有的的内容,就是要匹配的文章全部,
$data 是正则匹配后的结果,你可以 printf 出来看看。
上面的 [\s\S]* 这是匹配所有字符,所有回车,所有字符。

在举一个例子给你吧,要设我为最佳哇,哈哈,谢谢。

preg_match('/<div class="contentCenter">([\s\S]*)</div>/iU',$get,$lists);

看这个例子,你就更了解这个函数啦。。。。

9. php正则替换html代码中的内容

这个简单,用不上正则,直接字符串替换即可:
$str = "<font size="2" face="楷体\\\\\\\_GB2312"> 犯罪研究与辩护部”、“刑民交叉研究与辩护部”等10余个专业部门。</font>";

$new_str = str_replace('size="2"', '', $str); // 这是替换为空
$new_str = str_replace('size="2"', 'size=""', $str);//这是替换为空属性值

热点内容
校园网可以搭建服务器地址 发布:2025-05-11 04:54:40 浏览:784
noip算法 发布:2025-05-11 04:53:51 浏览:50
有什么我的世界服务器启动器 发布:2025-05-11 04:50:41 浏览:295
写shell脚本 发布:2025-05-11 04:37:41 浏览:935
电脑服务器打开有什么用 发布:2025-05-11 04:36:49 浏览:98
sqlserver2008查询时间 发布:2025-05-11 04:15:28 浏览:386
安卓孤胆车神被封号怎么解封 发布:2025-05-11 04:05:22 浏览:940
高压洗车泡沫怎么配置 发布:2025-05-11 04:00:47 浏览:547
腾讯轻量服务器怎么使用 发布:2025-05-11 03:52:46 浏览:174
4位密码组合有多少种至少有一个0 发布:2025-05-11 03:44:03 浏览:338