这里有新鲜出炉的 PHP 设计模式,程序狗速度看过来!
PHP(外文名: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言。语法吸收了 C 语言、Java 和 Perl 的特点,入门门槛较低,易于学习,使用广泛,主要适用于 web 开发领域。PHP 的文件后缀名为 php。
这篇文章主要介绍了 PHP 经典实用正则表达式, 结合具体实例总结分析了 php 基于正则实现验证、查找、匹配等相关操作技巧, 需要的朋友可以参考下
本文实例讲述了 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 程序设计有所帮助。
来源: http://www.phperz.com/article/17/0810/339979.html