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 相关文章推荐
第十四节 命名空间 [14]
Oct 09 PHP
php正则校验用户名介绍
Jul 19 PHP
PHP的explode和implode的使用说明
Jul 17 PHP
php连接mssql数据库的几种方法
Feb 21 PHP
一个简单的php加密解密函数(动态加密)
Jun 19 PHP
解析PHP对现有搜索引擎的调用
Jun 25 PHP
php文件夹与文件目录操作函数介绍
Sep 09 PHP
Laravel 5 框架入门(三)
Apr 09 PHP
php实现屏蔽掉黑帽SEO的搜索关键字
Apr 15 PHP
PHP使用Memcache时模拟命名空间及缓存失效问题的解决
Feb 27 PHP
详解如何在云服务器上部署Laravel
Jun 30 PHP
laravel5.6中的外键约束示例
Oct 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
实用函数3
2007/11/08 PHP
php+ajax实现异步上传文件或图片功能
2017/07/18 PHP
封装的原生javascript弹出层代码
2010/09/24 Javascript
JS对象转换为Jquery对象实现代码
2013/12/29 Javascript
JSONP跨域的原理解析及其实现介绍
2014/03/22 Javascript
node.js中的fs.symlink方法使用说明
2014/12/15 Javascript
快速实现jQuery多级菜单效果
2017/02/01 Javascript
基于JS实现仿百度百家主页的轮播图效果
2017/03/06 Javascript
JS实现点击链接切换显示隐藏内容的方法
2017/10/19 Javascript
vue定义全局变量和全局方法的方法示例
2018/08/01 Javascript
jQuery中常用动画效果函数知识点整理
2018/08/19 jQuery
Vue 组件参数校验与非props特性的方法
2019/02/12 Javascript
jQuery+ajax实现批量删除功能完整示例
2019/06/06 jQuery
微信小程序如何实现radio单选框单击打勾和取消
2020/01/21 Javascript
nodejs nedb 封装库与使用方法示例
2020/02/06 NodeJs
Openlayers显示地理位置坐标的方法
2020/09/28 Javascript
浅析Python基础-流程控制
2016/03/18 Python
Java与Python两大幸存者谁更胜一筹呢
2018/04/12 Python
值得收藏,Python 开发中的高级技巧
2018/11/23 Python
Python发送邮件功能示例【使用QQ邮箱】
2018/12/04 Python
基于python爬取有道翻译过程图解
2020/03/31 Python
详解Pytorch显存动态分配规律探索
2020/11/17 Python
PyQt实现计数器的方法示例
2021/01/18 Python
关于探究python中sys.argv时遇到的问题详解
2021/02/23 Python
CSS3弹性盒模型开发笔记(一)
2016/04/26 HTML / CSS
美国老牌主机服务商:iPage
2016/07/22 全球购物
公务员转正考察材料
2014/02/07 职场文书
李培根演讲稿
2014/05/22 职场文书
给客户的检讨书
2014/12/21 职场文书
2015年学校教育教学工作总结
2015/04/22 职场文书
学校推普周活动总结
2015/05/07 职场文书
2016党员党章学习心得体会
2016/01/14 职场文书
MySql存储过程之逻辑判断和条件控制
2021/05/26 MySQL
深入理解go slice结构
2021/09/15 Golang
Python爬虫入门案例之回车桌面壁纸网美女图片采集
2021/10/16 Python
世界十大动漫制作公司排行榜,迪士尼上榜,第二是美国代表性文化符
2022/03/18 欧美动漫