PHP经典实用正则表达式小结


Posted in PHP onMay 04, 2017

本文实例讲述了PHP经典实用正则表达式。分享给大家供大家参考,具体如下:

对于开发人员来说,正则表达式是一个非常有用的功能,它提供了 查找,匹配,替换 句子,单词,或者其他格式的字符串。这里介绍了几个超实用的php正则表达式,需要的朋友可以参考下。

1. 验证域名检验一个字符串是否是个有效域名

<?php
$url = "https://www.baidu.com";
if (preg_match('/^(http|https|ftp):\/\/([A-Z0-9][A-Z0-9_-]*(?:.[A-Z0-9][A-Z0-9_-]*)+):?(d+)?\/?/i', $url)) {
 echo "Your url is ok.";
} else {
 echo "Wrong url.";
}

2. 从一个字符串中 突出某个单词

这是一个非常有用的在一个字符串中匹配出某个单词 并且突出它,非常有效的搜索结果

<?php
$text = "Sample sentence from KomunitasWeb, regex has become popular in web programming. Now we learn regex. According to wikipedia, Regular expressions (abbreviated as regex or
regexp, with plural forms regexes, regexps, or regexen) are written in a formal language that can be interpreted by a regular expression processor";
$text = preg_replace("/(regex)/i", '<span style="background:#5fc9f6">1</span>', $text);
echo $text;
function get_the_title(){
  return 'Save the search.php file and open style.css. Append the following line to it: ';
}
$s = 'and php';
$title  = get_the_title();
$keys= explode(" ",$s);
$title  = preg_replace('/('.implode('|', $keys) .')/iu',
'<strong>\0</strong>',
$title);
echo $title;

3. 从HTML文档中获得全部图片

如果你曾经希望去获得某个网页上的全部图片,这段代码就是你需要的,你可以轻松的建立一个图片下载机器人

<?php
$images = array();
$data = file_get_contents('https://www.baidu.com');
preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $data, $media);
unset($data);
$data=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]);
foreach($data as $url)
{
 $info = pathinfo($url);
 if (isset($info['extension']))
 {
  if (($info['extension'] == 'jpg') ||
  ($info['extension'] == 'jpeg') ||
  ($info['extension'] == 'gif') ||
  ($info['extension'] == 'png'))
  array_push($images, $url);
 }
}
var_dump($images);

4. 匹配一个XML或者HTML标签

这个简单的函数有两个参数:第一个是你要匹配的标签,第二个是包含XML或HTML的变量,再强调下,这个真的很强大

<?php
function get_tag( $tag, $xml ) {
  $tag = preg_quote($tag);
  output($tag);
  preg_match_all('/<'.$tag.'[^>]*>(.*?)<\/'.$tag.'>./',
    $xml,
    $matches,
    PREG_PATTERN_ORDER
  );
  return $matches[1];
}
$xml = '<span>bb<a>bbb</a><a>ccc</a></span><span>bb<a>aa</a><p><a>ddd</a></p></span>';
$tag = 'a';
$return = get_tag($tag, $xml);
var_dump($return);
/*
array(2) {
 [0]=>
 array(3) {
  [0]=>
  string(11) "bbb<"
  [1]=>
  string(10) "aa<"
  [2]=>
  string(11) "ddd<"
 }
 [1]=>
 array(3) {
  [0]=>
  string(3) "bbb"
  [1]=>
  string(2) "aa"
  [2]=>
  string(3) "ddd"
 }
}
array(3) {
 [0]=>
 string(3) "bbb"
 [1]=>
 string(2) "aa"
 [2]=>
 string(3) "ddd"
}
*/
PHP 相关文章推荐
php抓取页面的几种方法详解
Jun 17 PHP
关于js与php互相传值的介绍
Jun 25 PHP
php数据库备份还原类分享
Mar 20 PHP
php实现批量下载百度云盘文件例子分享
Apr 10 PHP
PHP Curl出现403错误的解决办法
May 29 PHP
destoon官方标签大全
Jun 20 PHP
PHP实现图片压缩的两则实例
Jul 19 PHP
PHP文件读写操作相关函数总结
Nov 18 PHP
分享一段PHP制作的中文拼音首字母工具类
Dec 11 PHP
Laravel 5框架学习之用户认证
Apr 09 PHP
php+mysql+ajax实现单表多字段多关键词查询的方法
Apr 15 PHP
php + nginx项目中的权限详解
May 23 PHP
PHP实现的简单异常处理类示例
May 04 #PHP
PHP基于新浪IP库获取IP详细地址的方法
May 04 #PHP
PHP 无限级分类
May 04 #PHP
PHP实现中国公民身份证号码有效性验证示例代码
May 03 #PHP
PHP基于Redis消息队列实现发布微博的方法
May 03 #PHP
Laravel5中Cookie的使用详解
May 03 #PHP
[原创]php实现数组按拼音顺序排序的方法
May 03 #PHP
You might like
PHP调试函数和日志记录函数分享
2015/01/31 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
jquery 延迟执行实例介绍
2013/08/20 Javascript
javascript实现Email邮件显示与删除功能
2015/11/21 Javascript
jquery实现具有嵌套功能的选项卡
2016/02/12 Javascript
jQuery常用样式操作实例分析(获取、设置、追加、删除、判断等)
2016/09/08 Javascript
微信小程序 Toast自定义实例详解
2017/01/20 Javascript
ztree简介_动力节点Java学院整理
2017/07/19 Javascript
微信小程序之页面跳转和参数传递的实现
2017/09/29 Javascript
jQuery+CSS实现的table表格行列转置功能示例
2018/01/08 jQuery
vue elementUI tree树形控件获取父节点ID的实例
2018/09/12 Javascript
解决layui的使用以及针对select、radio等表单组件不显示的问题
2019/09/05 Javascript
[50:45]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第一场
2018/04/10 DOTA
[54:15]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第二场2月1日
2021/03/11 DOTA
python 处理telnet返回的More,以及get想要的那个参数方法
2019/02/14 Python
Django 中自定义 Admin 样式与功能的实现方法
2019/07/04 Python
python实现两张图片拼接为一张图片并保存
2019/07/16 Python
python pandas 时间日期的处理实现
2019/07/30 Python
Python常用数据类型之间的转换总结
2019/09/06 Python
win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题
2019/10/24 Python
Python装饰器实现方法及应用场景详解
2020/03/26 Python
Kathmandu美国网站:新西兰户外运动品牌
2019/03/23 全球购物
阿迪达斯新加坡官方网站:adidas新加坡
2019/12/06 全球购物
测绘工程系学生的自我评价
2013/11/30 职场文书
校三好学生主要事迹
2014/01/11 职场文书
儿媳婚宴答谢词
2014/01/14 职场文书
护士求职自荐信范文
2014/03/19 职场文书
毕业自我鉴定书
2014/03/24 职场文书
班风口号
2014/06/18 职场文书
植树节口号
2014/06/21 职场文书
2014年党风建设工作总结
2014/11/19 职场文书
JavaScript 去重和重复次数统计
2021/03/31 Javascript
MySQL令人咋舌的隐式转换
2021/04/05 MySQL
go语言使用Casbin实现角色的权限控制
2021/06/26 Golang
sass 常用备忘案例详解
2021/09/15 HTML / CSS
python解析照片拍摄时间进行图片整理
2022/07/23 Python