php 正则表达式 匹配网站内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 正则表达式 匹配网站内容相关的知识,希望对你有一定的参考价值。

我怎么匹配到这两个P 标签里的内容

<div class="nav" monkey="nav">和<div class="head-ad">之间的所有源码,用 preg_match 就可以,不用preg_match_all ,如果你要里面的所有的 <li></li>标签中的内容,可以用preg_match_all

//提取所有代码

$pattern = \'/<div class="nav" monkey="nav">(.+?)<div class="head-ad">/is\';

preg_match($pattern, $string, $match);

//$match[0] 即为<div class="nav" monkey="nav">和<div class="head-ad">之间的所有源码

echo $match[0];

    //然后再提取<li></li>之间的内容

$pattern = \'/<li.*?>(.+?)<\\/li>/is\';

preg_match_all($pattern, $match[0], $results);

$new_arr=array_unique($results[0]);

foreach($new_arr as $kkk)

    echo $kkk;

参考技术A preg正则

php 正则表达式匹配(持续更新)

正则表达式匹配网址:

<?php
header(‘Content-type:text/html;charset=utf-8‘);
$str = ‘
百度http://www.baidu.com网站
谷歌https://www.google.net网站
土豆ftp://bbs.tudou.org网站
网易http://mail.163.cn网站
优酷ftps://www.youku.club网站
迅雷http://ftp.xunlei.com网站
自己http://www.china-zqcm.com/php/index.php?name=zhangsan&age=18的
‘;

$pre = ‘/(http|https|ftp|ftps)\:\/\/(www|bbs|mail|ftp)\.([\w\-]+)\.(com|net|org|club)[\/\.\?\=\&\w\s]*/‘;//

if(preg_match_all($pre,$str,$arr))
echo ‘正则表达式<b>‘.$pre.‘</b>匹配字符串<b>‘.$str.‘</b>成功‘;
echo ‘<pre>‘;
print_r($arr);
else
echo ‘匹配失败‘;


?>

\w 表示[a-zA-Z0-9]

正则表达式匹配邮箱

 1 <?php
 2     header(‘Content-type:text/html;charset=utf-8‘);
 3     $str = ‘
 4         妹子[email protected]的邮箱
 5         妹子[email protected]的邮箱
 6         妹子[email protected]的邮箱
 7         妹子[email protected]的邮箱
 8         妹子[email protected]的邮箱
 9         妹子[email protected]的邮箱
10         
11;
12     $pre = ‘/[\w\+\-\.][email protected][\w\-]+\.(com|net)+/‘;
13     if(preg_match_all($pre,$str,$arr))
14         echo ‘<pre>‘;
15         print_r($arr);
16     else
17         echo ‘匹配失败‘;
18     
19 ?>

 

以上是关于php 正则表达式 匹配网站内容的主要内容,如果未能解决你的问题,请参考以下文章

求一段PHP的正则 我要匹配文本内所有的</h1>后的内容

php正则表达式 怎样从后面开始匹配

PHP 正则表达式匹配 preg_match 与 preg_match_all 函数

PHP正则表达式匹配所有网址[重复]

正则表达式:匹配除特定模式之外的所有内容

PHP 正则