您的位置:

php正则匹配html,php正则匹配url地址

本文目录一览:

如何在PHP中使用正则表达式匹配html某标签内的特定几个属性

PHP有两种使用不同的方式来使用正则表达式:PCRE(Perl兼容表示法,preg_*)函数 和 POSIX(POSIX 扩展表示法,ereg_*) 函数。幸运的是,POSIX 家族函数从 PHP 5.3.0 开始就被弃用了。

我认为我说的还可以,我是从后盾人那里学习来的,我反正觉得那里的东西还不错。你也可以去看一看

PHP正则表达式匹配html标签属性值

?php

$str = 'a id="btlist10" st="1" ditem="true" class="item multi-lines with-avatar" ftios="1" ck="TlRZNFlUSTRNakk9" 

ft="1" data="我想匹配的属性值" ix="10" analytical="false" s1="我想匹配的属性值2" 

jxd1="0781C99068C8FEBF" jxd2="69A2D6435ABEAF87817A812290560AB3" onclick="openmenu($(this))"';

$fun = function($str,$key){

    $str=preg_replace("/[\s\S]*\s".$key."[=\"\']+([^\"\']*)[\"\'][\s\S]*/","$1",$str);

    return $str;

};

$data = $fun($str, "data");

echo $data;

echo "\n";

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

echo $s1;

echo "\n";

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

echo $other;

echo "\n";

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

echo $other;

?

php 正则匹配 的问题。

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标签

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

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

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

php正则表达式匹配HTML

?php

$str = 'tr

    td rowspan="2" class="col"20150630 /td

    td class="col"AAAA /td

    td class="col"BBB/td

    td class="col"CCC/td

    td class="col"DDD/td

  /tr';

preg_match_all('/td[^]*(.*?)\/td/is', $str , $matched);

print_r($matched[1]);

exit;

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

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

提供一下思路:

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

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

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

2、再对每个英文句子,取出其中的单词: