本文实例讲述了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" } */
PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:
JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript
正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php正则表达式用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
本文向大家介绍Python正则表达式使用经典实例,包括了Python正则表达式使用经典实例的使用技巧和注意事项,需要的朋友参考一下 下面列出Python正则表达式的几种匹配用法,具体内容如下所示: 此外,关于正则的一切http://deerchao.net/tutorials/regex/regex.htm 1.测试正则表达式是否匹配字符串的全部或部分 2.测试正则表达式是否匹配整个字符串 3.创
本文向大家介绍JS正则表达式基本用法(经典全),包括了JS正则表达式基本用法(经典全)的使用技巧和注意事项,需要的朋友参考一下 //校验是否全由数字组成 JavaSript表单验证mail,判断一个输入量是否为邮箱mail,通过正则表达式实现。 正则表达式 "^\\+$" 正则表达式使用详解 简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具。其作用如下: 测试字符串的某个模
本文向大家介绍15个超实用的php正则表达式,包括了15个超实用的php正则表达式的使用技巧和注意事项,需要的朋友参考一下 在这篇文章里,我已经编写了15个超有用的正则表达式,WEB开发人员都应该将它收藏到自己的工具包。 验证域名 检验一个字符串是否是个有效域名. 从一个字符串中 突出某个单词 这是一个非常有用的在一个字符串中匹配出某个单词 并且突出它,非常有效的搜索结果 突出查询结果在你的 Wo
问题内容: ** ** 我当前的RegEx工作正常吗?但是我想将[]改为<>。但这是行不通的……我还需要更改[]。 问题答案: 这使您可以轻松地手动定义替换规则:
本文向大家介绍PHP段落正则表达式,包括了PHP段落正则表达式的使用技巧和注意事项,需要的朋友参考一下 我经常发现有必要从博客文章的开头或类似内容中提取一段文字,以用作摘录。我通常使用一个函数,该函数将计算可用的整个单词的数量,并返回包含这些单词的字符串。 尽管仅当原始帖子为HTML时才适用,但这是一个很好的选择,那就是使用正则表达式提取内容。以下代码将使用字符串,并仅提取文本的第一段。 如果正则
问题内容: 我想将URL中的字符串清除掉,所以这是我基本上需要的。 除字母数字字符和空格以及破折号外,所有其他内容都必须删除。 空格应转换为破折号。 例如。 必须返回 问题答案: