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实现的简单压缩英文字符串的代码
Apr 24 PHP
jq的get传参数在utf-8中乱码问题的解决php版
Jul 23 PHP
php将数据库中所有内容生成静态html文档的代码
Apr 12 PHP
PHP 读取和编写 XML
Nov 19 PHP
php中最简单的字符串匹配算法
Dec 16 PHP
php生成zip文件类实例
Apr 07 PHP
PHP限制HTML内容中图片必须是本站的方法
Jun 16 PHP
PHP Echo字符串的连接格式
Mar 07 PHP
php微信高级接口群发 多客服
Jun 23 PHP
PHP控制反转(IOC)和依赖注入(DI)
Mar 13 PHP
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
Jun 27 PHP
thinkPHP框架实现类似java过滤器的简单方法示例
Sep 05 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文件上传大小限制问题(nginx+php)
2015/09/23 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
PHP下的浮点运算不准的解决方法
2016/10/27 PHP
Laravel程序架构设计思路之使用动作类
2018/06/07 PHP
ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】
2019/03/11 PHP
PHP中md5()函数的用法讲解
2019/03/30 PHP
一个页面放2段图片滚动代码出现冲突的问题如何解决
2012/12/21 Javascript
js中函数声明与函数表达式
2015/06/03 Javascript
JS实现无限级网页折叠菜单(类似树形菜单)效果代码
2015/09/17 Javascript
AngularJS控制器controller给模型数据赋初始值的方法
2017/01/04 Javascript
微信小程序 仿猫眼实现实例代码
2017/03/14 Javascript
NodeJS处理Express中异步错误
2017/03/26 NodeJs
EasyUI Datebox 日期验证之开始日期小于结束时间
2017/05/19 Javascript
nodejs超出最大的调用栈错误问题
2017/12/27 NodeJs
微信小程序开发之路由切换页面重定向问题
2018/09/18 Javascript
JavaScript封闭函数及常用内置对象示例
2019/05/13 Javascript
es6数组之扩展运算符操作实例分析
2020/04/25 Javascript
原生js+canvas实现贪吃蛇效果
2020/08/02 Javascript
node.js爬虫框架node-crawler初体验
2020/10/29 Javascript
jquery实现拖拽小方块效果
2020/12/10 jQuery
[04:22]DOTA2上海特级锦标赛主赛事第四日TOP10
2016/03/06 DOTA
Python实现多并发访问网站功能示例
2017/06/19 Python
Python实现自动为照片添加日期并分类的方法
2017/09/30 Python
int在python中的含义以及用法
2019/06/27 Python
使用Django搭建网站实现商品分页功能
2020/05/22 Python
matplotlib源码解析标题实现(窗口标题,标题,子图标题不同之间的差异)
2021/02/22 Python
html5 css3实例教程 一款html5和css3实现的小机器人走路动画
2014/10/20 HTML / CSS
世界上最好的帽子:Tilley
2016/11/27 全球购物
苏宁红孩子母婴商城:redbaby
2017/02/12 全球购物
意大利高端时尚买手店:Stefania Mode
2018/03/01 全球购物
俄罗斯运动鞋商店:Sneakerhead
2018/05/10 全球购物
2014年创卫实施方案
2014/02/18 职场文书
颁奖晚会主持词
2014/03/25 职场文书
村委会贫困证明范本
2014/09/17 职场文书
解除劳动合同通知书范本
2015/04/16 职场文书
神秘岛读书笔记
2015/07/01 职场文书