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 mb_convert_encoding 获取字符串编码类型实现代码
Apr 26 PHP
php str_pad 函数用法简介
Jul 11 PHP
PHP 引用文件技巧
Mar 02 PHP
linux实现php定时执行cron任务详解
Dec 24 PHP
PHP图像处理之imagecreate、imagedestroy函数介绍
Nov 19 PHP
php实现粘贴截图并完成上传功能
May 17 PHP
php数字运算验证码的实现代码
Jul 30 PHP
如何利用http协议发布博客园博文评论
Aug 03 PHP
Yii中srbac权限扩展模块工作原理与用法分析
Jul 14 PHP
PHP简单实现二维数组赋值与遍历功能示例
Oct 19 PHP
PHP封装的完整分页类示例
Aug 21 PHP
YII2.0框架行为(Behavior)深入详解
Jul 26 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
dede全站URL静态化改造[070414更正]
2007/04/17 PHP
ThinkPHP的I方法使用详解
2014/06/18 PHP
什么是OneThink oneThink后台添加插件步骤
2016/04/13 PHP
PHP简单读取xml文件的方法示例
2017/04/20 PHP
PHP chr()函数讲解
2019/02/11 PHP
javascript iframe内的函数调用实现方法
2009/07/19 Javascript
javascript下高性能字符串连接StringBuffer类
2010/08/16 Javascript
防止xss和sql注入:JS特殊字符过滤正则
2013/04/18 Javascript
jquery实现更改表格行顺序示例
2014/04/30 Javascript
通过js为元素添加多项样式,浏览器全兼容写法
2014/08/30 Javascript
jquery实现图片左右切换的方法
2015/05/07 Javascript
轻松掌握JavaScript状态模式
2016/09/07 Javascript
快速实现jQuery多级菜单效果
2017/02/01 Javascript
Node.js+Express+MySql实现用户登录注册功能
2017/07/10 Javascript
vue上传图片组件编写代码
2017/07/26 Javascript
vue中使用localstorage来存储页面信息
2017/11/04 Javascript
jquery 输入框查找关键字并提亮颜色的实例代码
2018/01/23 jQuery
vue axios请求频繁时取消上一次请求的方法
2018/11/10 Javascript
小程序页面动态配置实现方法
2019/02/05 Javascript
nodejs微信开发之授权登录+获取用户信息
2019/03/17 NodeJs
javaScript实现一个队列的方法
2020/07/14 Javascript
Python实现根据IP地址和子网掩码算出网段的方法
2015/07/30 Python
python中类的属性和方法介绍
2018/11/27 Python
python 代码实现k-means聚类分析的思路(不使用现成聚类库)
2020/06/01 Python
pytorch简介
2020/11/11 Python
详解CSS3的图层阴影和文字阴影效果使用
2016/06/09 HTML / CSS
酒店应聘自荐信
2013/11/09 职场文书
2014年秋季开学典礼致辞
2014/08/02 职场文书
2014预备党员批评与自我批评思想汇报
2014/09/20 职场文书
2014年人大工作总结
2014/12/10 职场文书
教师理论学习心得体会
2016/01/21 职场文书
导游词书写之黄山
2019/08/06 职场文书
用Python写一个简易版弹球游戏
2021/04/13 Python
如何开发一个渐进式Web应用程序PWA
2021/05/10 Javascript
Python几种酷炫的进度条的方式
2022/04/11 Python
Nginx限流和黑名单配置
2022/05/20 Servers