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 采集程序 常用函数
Dec 18 PHP
一个比较简单的PHP 分页分组类
Dec 10 PHP
PHP服务器页面间跳转实现方法
Aug 02 PHP
php+js实现图片的上传、裁剪、预览、提交示例
Aug 27 PHP
php数组查找函数in_array()、array_search()、array_key_exists()使用实例
Apr 29 PHP
ThinkPHP CURD方法之limit方法详解
Jun 18 PHP
PHP程序员必须清楚的问题汇总
Dec 18 PHP
PHP中PDO连接数据库中各种DNS设置方法小结
May 13 PHP
使用ThinkPHP生成缩略图及显示
Apr 27 PHP
PHP反射学习入门示例
Jun 14 PHP
laravel框架上传图片实现实时预览功能
Oct 14 PHP
PHP实现chrome表单请求数据转换为接口使用的json数据
Mar 04 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
wamp下修改mysql访问密码的解决方法
2013/05/07 PHP
PHP连接Access数据库的方法小结
2013/06/20 PHP
ThinkPHP中公共函数路径和配置项路径的映射分析
2014/11/22 PHP
php中请求url的五种方法总结
2017/07/13 PHP
JavaScript 打地鼠游戏代码说明
2010/10/12 Javascript
js判断是否为数组的函数: isArray()
2011/10/30 Javascript
基于jquery实现的一个选择中国大学的弹框 (数据、步骤、代码)
2012/07/26 Javascript
js jquery验证银行卡号信息正则学习
2013/01/21 Javascript
对Jquery中的ajax再封装,简化操作示例
2014/02/12 Javascript
IE下双击checkbox反应延迟问题的解决方法
2014/03/27 Javascript
js实现键盘操作实现div的移动或改变的原理及代码
2014/06/23 Javascript
jQuery ajax调用WCF服务实例
2014/07/16 Javascript
轻松实现js图片预览功能
2016/01/18 Javascript
jQuery实现为LI列表前3行设置样式的方法【2种方法】
2016/09/04 Javascript
Angular页面间切换及传值的4种方法
2016/11/04 Javascript
JavaScript原型继承_动力节点Java学院整理
2017/06/30 Javascript
vue+element加入签名效果(移动端可用)
2019/06/17 Javascript
Vue-drag-resize 拖拽缩放插件的使用(简单示例)
2019/12/04 Javascript
基于vue实现探探滑动组件功能
2020/05/29 Javascript
Element Popover 弹出框的使用示例
2020/07/26 Javascript
bootstrap-closable-tab可实现关闭的tab标签页插件
2020/08/09 Javascript
[03:02]2020完美世界城市挑战赛(秋季赛)总决赛回顾
2021/03/11 DOTA
python3使用urllib示例取googletranslate(谷歌翻译)
2014/01/23 Python
python文件的md5加密方法
2016/04/06 Python
Django 2.0版本的新特性抢先看!
2018/01/05 Python
Python模块相关知识点小结
2020/03/09 Python
HTML5 在canvas中绘制矩形附效果图
2014/06/23 HTML / CSS
大学生就业自我鉴定
2013/10/26 职场文书
大队干部竞选演讲稿
2014/04/28 职场文书
求职简历自我评价范文
2015/03/10 职场文书
公司员工体检通知
2015/04/21 职场文书
2015年人事专员工作总结
2015/04/29 职场文书
4种非常实用的python内置数据结构
2021/04/28 Python
Redis延迟队列和分布式延迟队列的简答实现
2021/05/13 Redis
Python趣味挑战之实现简易版音乐播放器
2021/05/28 Python
不负正版帝国之名 《重返帝国》引领SLG手游制作新的标杆
2022/04/07 其他游戏