当前位置:首页 » 编程语言 » php匹配html标签

php匹配html标签

发布时间: 2022-05-04 00:41:33

‘壹’ php正则表达式匹配html标签属性值

<?php
$str='<aid="btlist10"st="1"ditem="true"class="itemmulti-lineswith-avatar"ftios="1"ck="TlRZNFlUSTRNakk9"
ft="1"data="我想匹配的属性值"ix="10"analytical="false"s1="我想匹配的属性值2"
jxd1="0781C99068C8FEBF"jxd2=""onclick="openmenu($(this))">';
$fun=function($str,$key){
$str=preg_replace("/[sS]*s".$key."[="']+([^"']*)["'][sS]*/","$1",$str);
return$str;
};
$data=$fun($str,"data");
echo$data;

echo" ";

$s1=$fun($str,"s1");
echo$s1;

echo" ";

$other=$fun($str,"ck");
echo$other;

echo" ";

$other=$fun($str,"onclick");
echo$other;

?>

‘贰’ PHP正则表达式如何匹配HTML标签

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

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

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

‘叁’ php正则匹配html标签并替换掉

$tag = '/\<div class=\"m-updigg f-fl\"\>(\n)?\<span class=\"zanbox\" id=\"arc(\d+)\">(.*?)\<\/span\>(\n)?\<\/div\>/i' ;

大概是这样 没环境 无法测试

‘肆’ PHP正则表达式匹配HTML标签为什么要加#号

你好,加'#'号,代表这个正则表达式的起始位置,就和'/'的作用是一样的.
类似的还有'!'号.
例子如下:
$s='123456';
$a=preg_match('!\d+!',$s,$item);
print_r($item[0]);

‘伍’ 如何用PHP 正则匹配出含有HTML标签的字符串中的英文单词

通过仔细阅读问题描述,样本采用 html格式编写,其内容为中英文互译,如问题所要求的:“正文中的,英文单词都匹配出来”。

提供一下思路:

建议可以将问题简化一下,即只取正文中的英文部分。

通过观察如上提供的样本中,大部分的英文部分都以标签<div class="set_en">...</div>(其中有一个 div标签没有配对) ,则步骤如下:

1、先编写正则取出标签中的内容:

‘陆’ php正则匹配取出html标签内属性值问题

$matches = array();$b = '<span id="oldtitle"><strong>艾布拉姆斯他爹</strong></span>';preg_match_all('(<span id="oldtitle"><strong>(.*)</strong></span>)', $b, $matches);print_r($matches);

‘柒’ php 正则匹配HTML标签中间内容

<?php
$aa="<div class=\"avatar\">
<a rel=\"nofollow\" href=\"/user/1251844324/\" target=\"_blank\" style=\"display: block; height: 50px; overflow: hidden;\">
<img src=\"http://p0.pstatp.com/thumb/207/1113504235\" />
</a>
</div>
<ul class=\"comment-content\">
<li>
<span class=\"name\">
<a rel=\"nofollow\" href=\"/user/1251844324/\" target=\"_blank\">我去年买了个表 </a>
:
</span>
<span class=\"content\">很虚。。。</span>
</li>
</ul>";
//echo $aa;
if(preg_match("/href=\"\/(.*)\" target/",$aa,$matched)){
echo "<br>one¨".$matched[1];
}
if(preg_match("/<img src=\"(.*)\" \/>/",$aa,$matched)){
echo "<br>two¨".$matched[1];
}
if(preg_match("/_blank\">(.*)<\/a>/",$aa,$matched)){
echo "<br>three¨".$matched[1];
}
if(preg_match("/content\">(.*)<\/span>/",$aa,$matched)){
echo "<br>four¨".$matched[1];
}
?>

运行的结果是:

one¨user/1251844324/
two¨http://p0.pstatp.com/thumb/207/1113504235
three¨我去年买了个表
four¨很虚。。。

是不是你想要的,或者你存取数据的方法是什么样的,可以看情况选择循环语句。
有什么问题可以追问。

‘捌’ php如何用正则匹配如下html标签

就是<div class="sk">.*?</div>吧,注意引号的使用即可。星号后面的问号可以防止贪婪。

‘玖’ 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);

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

‘拾’ PHP如何匹配html标签中多个换行的内容

$str='<p class="p1">
<a href="这里是链接"
title="清醒了">第2回</a>
</p>';
preg_match_all('%<p class="p1"[^"]*href="([^"]*)"[^"]*title="([^"]*)"%',$str,$arr);
echo $arr[1][0];
echo $arr[2][0];

热点内容
方舟怎么用自己的存档进入别人的服务器 发布:2025-05-14 16:46:25 浏览:876
微博视频高清上传设置 发布:2025-05-14 16:38:41 浏览:548
数据库图书管理设计 发布:2025-05-14 16:33:52 浏览:378
php开发的网页 发布:2025-05-14 16:22:03 浏览:477
服务器内存跑满了怎么回事 发布:2025-05-14 16:21:16 浏览:224
微信qq音乐缓存 发布:2025-05-14 16:16:16 浏览:469
c语言回收内存 发布:2025-05-14 16:16:08 浏览:144
2021国产安卓顶级旗舰买哪个 发布:2025-05-14 16:15:36 浏览:300
linux自学视频 发布:2025-05-14 16:14:49 浏览:256
我的世界服务器崩了重启 发布:2025-05-14 16:09:37 浏览:45