【有关PHP正则,提取网页指定内容的有关问题】教程文章相关的互联网学习教程文章

php正则过滤html标签、空格、换行符的代码(附说明)

代码如下:$str=preg_replace("/\s+/", " ", $str); //过滤多余回车 $str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格) $str=preg_replace("/<\!--.*?-->/si","",$str); //注释 $str=preg_replace("/<(\!.*?)>/si","",$str); //过滤DOCTYPE $str=preg_replace("/<(\/?html.*?)>/si","",$str); //过滤html标签 $str=preg_replace("/<(\/?head.*?)>/si","",$str); //过滤head标签 $str=preg_replace("/<(\/?meta....

php正则表达匹配中文问题分析小结

代码如下:$str = 中华人民共和国123456789abcdefg; echo preg_match("/^[u4e00-u9fa5_a-zA-Z0-9]{3,15}$",$strName); 运行一下上面这段代码,看会有什么提示信息? Warning: preg_match(): Compilation failed: PCRE does not support L, l, N, P, p, U, u, or X at offset 3 in F:wwwrootphptest.php on line 2 原来,PHP正则表达式中不支持下列 Perl 转义序列:L, l, N, P, p, U, u, or X 在 UTF-8 模式下,允许用“x{...}”,花...

关于php正则匹配汉字的方法介绍

php正则匹配汉字!/^[\x{4e00}-\x{9fa5}]+$/u以上这个正则表达式就是困扰了很多php程序员的匹配汉字的正则表达式大家可能会觉得很简单,实际上不同编码,不同程序语言,都有些细微的出入,稍不注意就得不到正确的结果。下面是utf-8编码的例子:$str = "汉字";if (preg_match("/^[\x{4e00}-\x{9fa5}]+$/u",$str)) {print("该字符串全部是中文");} else {print("该字符串不全部是中文");} 下面的例子包含gbk,gb2312的例子: <?php$ac...

解析PHP正则提取或替换img标记属性

<?php/*PHP正则提取图片img标记中的任意属性*/$str = <center><img src="/uploads/images/20100516000.jpg" height="120" width="120"><br />PHP正则提取或更改图片img标记中的任意属性</center>; //1、取整个图片代码preg_match(/<\s*img\s+[^>]*?src\s*=\s*(\|\")(.*?)\\1[^>]*?\/?\s*>/i,$str,$match);echo $match[0]; //2、取widthpreg_match(/<img.+(width=\"?\d*\"?).+>/i,$str,$match);echo $match[1]; //3、取heightpreg_m...

php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)

因有一项目新闻发布系统,数据库内容字段中存储的是原图的路径(当然还有其他文字内容啦,内容里插图时,存的是图片路径),但前台想使用缩略图,琢磨1小时余,得到以下结果,可解决问题(取img标签会了,取别的标签任意属性自然也会了): 代码如下:<?php /*正则取图片img标记中的任意属性*/ $word = '<p height="22" align="cenetr">111 22</p> <img src="http://files.jb51.net/upload/images/aaa.jpg" width="100"><div style="float:left...

PHP 正则判断中文UTF-8或GBK的思路及具体实现

UTF-8匹配: 在javascript中,要判断字符串是中文是很简单的。比如: 代码如下:var str = "php编程"; if (/^[\u4e00-\u9fa5]+$/.test(str)) { alert("该字符串全部是中文"); }else{ alert("该字符串不全部是中文"); } //php中,是用\x表示十六进制数据的。于是,变换成如下的代码: $str = "php编程"; if (preg_match("/^[\x4e00-\x9fa5]+$/",$str)) { print("该字符串全部是中文"); } else { print("该字符串不全部是中文"); } 貌...

小谈php正则提取图片地址

迷上了正则,不断尝试着新花招,首先感谢TNA 的非完全输出RSS,然后再次感谢SH的强迫性学习。没有TNA,我不会去看正则,更不知道世界上有种这么牛的表达式;不是SH的死活说他不懂不知道,我也不会硬着头皮去琢磨,去改进。达到同一个目的,正则的表达方式可以不唯一,没有做不到,只有你没想到。可以这样说吧,正则就是玩设定规律,我大爱这种东西。没有比设定规律筛选东西更让我兴奋、感到awesome的了。 分享一下在php环境下使用正...

PHP正则替换函数preg_replace和preg_replace_callback使用总结

在编写PHP模板引擎工具类时,以前常用的一个正则替换函数为 preg_replace(),加上正则修饰符 /e,就能够执行强大的回调函数,实现模板引擎编译(其实就是字符串替换)。 详情介绍参考博文:PHP函数preg_replace() 正则替换所有符合条件的字符串 应用举例如下:代码如下: <?php /** * 模板解析类 */ class Template { public function compile($template) { // if逻辑 $template = preg_replace("/\<\!\-\-\{if\s+(.+?)\}\-\...

php正则匹配html中带class的div并选取其中内容的方法

本文实例讲述了php正则匹配html中带class的div并选取其中内容的方法。分享给大家供大家参考。具体分析如下: 先看一段html代码:代码如下:<div class="chartInfo"> <div class="line"></div> <div class="tideTable"> <strong>潮汐表</strong>数据仅供参考 <table width="500" border="0" cellspacing="0" cellpadding="0"> <tbody><tr> <td width="100"><p><span>潮时 (Hrs)</span></p></td> ...

php正则preg_replace_callback函数用法实例

本文实例讲述了php正则preg_replace_callback函数的用法。分享给大家供大家参考。具体实现方法如下: php正则表达式功能强大,本范例演示了preg_replace_callback函数的用法 // Define a dummy text, for testing... $Text = "Title: Hello world!\n"; $Text .= "Author: Jonas\n"; $Text .= "This is a example message!\n\n"; $Text .= "Title: Entry 2\n"; $Text .= "Author: Sonja\n"; $Text .= "Hello world, whats up!\n"; /...

PHP正则验证Email的方法

本文实例讲述了PHP正则验证Email的方法。分享给大家供大家参考。具体如下: <?php function validateEmail($email) {$isValid = true;$atIndex = strrpos($email, "@");if (is_bool($atIndex) && !$atIndex){$isValid = false;}else{$domain = substr($email, $atIndex+1);$local = substr($email, 0, $atIndex);$localLen = strlen($local);$domainLen = strlen($domain);if ($localLen < 1 || $localLen > 64){// local part len...

php正则替换处理HTML页面的方法

本文实例讲述了php正则替换处理HTML页面的方法。分享给大家供大家参考。具体如下: <?php if(!defined(BASEPATH)) exit(No direct script access allowed);/*** HTML替换处理类,考虑如下几种替换* 1. img src : /<img(.+?)src=([\\" ])?(.+?)([ >]+?)/i* 2. a href : /<a(.+?)href=([\\" ])?(.+?)([ >]+?)/i* 3. ifram.src : /<iframe(.+?)src=([\\" ])?(.+?)([ >]+?)/i* 4. frame src : /<frame(.+?)src=([\\" ])?(.+?)([ >]+?)/...

php正则匹配文章中的远程图片地址并下载图片至本地

使用php的正则表达式来实现:$content = 这里是文章内容,这里插入一张图片测试 <img src="XXXXXXXXXXXXXXXXXXXX">; $content = stripslashes ( $content ); $img_array = array (); // 匹配所有远程图片 preg_match_all ( "/(src|SRC)=["|| ]{0,}(http://(.*).(gif|jpg|jpeg|bmp|png))/isU", $content, $img_array ); // 匹配出来的不重复图片 $img_array = array_unique ( $img_array [2] ); print_r($img_array); 上面就将远程图...

PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析

本文实例讲述了PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法。分享给大家供大家参考,具体如下: 环境错误级别:error_reporting =E_ALL 某天我在研究一下php下的正则替换函数perg_replace(), 示例: 代码: $subject="2222<b>a</b>2222fff222222222A22222"; $pattern = "/(a)/e"; $replacement= "md5($1)";//$1,取匹配到的内存变量的值(\1也可以,只不过要注意双引号内的转义) echo preg_replace(...

php正则提取html图片(img)src地址与任意属性的方法

简单版: <?php header("Content-Type: text/html;charset=utf-8");$str = <div class="ui-block-a" align="center"><a href="online-39.html" rel="external nofollow" ><img class="lazy" width="131" height="177" src="https://files.jb51.net/file_images/game/201702/2017020716154162.jpg"/><h3>2014年</h3></a></div>;$imgpreg = "/<img (.*?) src=\"(.+?)\".*?>/"; preg_match($imgpreg,$str,$img); $mycount=count($img)...

提取 - 相关标签