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 相关文章推荐
编译问题
Oct 09 PHP
php扩展ZF――Validate扩展
Jan 10 PHP
PHP 一个比较完善的简单文件上传
Mar 25 PHP
php文件怎么打开 如何执行php文件
Dec 21 PHP
php中取得文件的后缀名?
Feb 20 PHP
仿Aspnetpager的一个PHP分页类代码 附源码下载
Oct 08 PHP
php无限遍历文件夹示例分享
Mar 04 PHP
php以post形式发送xml的方法
Nov 04 PHP
PHP中使用SimpleXML检查XML文件结构实例
Jan 07 PHP
thinkPHP删除前弹出确认框的简单实现方法
May 16 PHP
PHP实现找出链表中环的入口节点
Jan 16 PHP
PHP实现的微信公众号扫码模拟登录功能示例
May 30 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.ini中的php-5.2.0配置指令详解
2008/03/27 PHP
php把session写入数据库示例
2014/02/26 PHP
php 参数过滤、数据过滤详解
2015/10/26 PHP
javascript应用:Iframe自适应其加载的内容高度
2007/04/10 Javascript
XMLHTTP 乱码的解决方法(UTF8,GB2312 编码 解码)
2011/01/12 Javascript
JavaScript—window对象使用示例
2013/12/09 Javascript
connect中间件session、cookie的使用方法分享
2014/06/17 Javascript
基于javascript实现判断移动终端浏览器版本信息
2014/12/09 Javascript
jQuery EasyUI基础教程之EasyUI常用组件(推荐)
2016/07/15 Javascript
为输入框加入数字js校验代码分享
2017/11/02 Javascript
详解react-native WebView 返回处理(非回调方法可解决)
2018/02/27 Javascript
微信小程序实现tab左右切换效果
2020/11/15 Javascript
vue3.0 CLI - 2.2 - 组件 home.vue 的初步改造
2018/09/14 Javascript
微信小程序定义和调用全局变量globalData的实现
2019/11/01 Javascript
合并百度影音的离线数据( with python 2.3)
2015/08/04 Python
Windows下Python使用Pandas模块操作Excel文件的教程
2016/05/31 Python
Python实现读取txt文件并转换为excel的方法示例
2018/05/17 Python
详解重置Django migration的常见方式
2019/02/15 Python
Python OS模块实例详解
2019/04/15 Python
OpenCV中VideoCapture类的使用详解
2020/02/14 Python
Python如何把Spark数据写入ElasticSearch
2020/04/18 Python
网页布局中CSS样式无效的十个重要原因详解
2017/08/10 HTML / CSS
使用CSS3的背景渐变Text Gradient 创建文字颜色渐变
2014/08/19 HTML / CSS
html5+css3实现一款注册表单实例
2013/04/17 HTML / CSS
英国打印机墨水和碳粉商店:Printerinks
2017/06/30 全球购物
周仰杰(JIMMY CHOO)英国官方网站:闻名世界的鞋子品牌
2018/10/28 全球购物
英国购买威士忌网站:Master of Malt
2019/09/26 全球购物
值类型与引用类型有什么不同?请举例说明?并分别列举几种相应的数据类型
2015/10/24 面试题
介绍一下XMLHttpRequest对象的常用方法和属性
2013/05/24 面试题
超市5.1促销活动
2014/01/15 职场文书
家长给学校的建议书
2014/05/15 职场文书
大学毕业典礼演讲稿
2014/09/09 职场文书
小学体育教学随笔
2015/08/14 职场文书
《蓝鲸的眼睛》读后感5篇
2020/01/15 职场文书
Django实现drf搜索过滤和排序过滤
2021/06/21 Python
MySQL 数据表操作
2022/05/04 MySQL