- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章15个超实用的php正则表达式由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
在这篇文章里,我已经编写了15个超有用的正则表达式,WEB开发人员都应该将它收藏到自己的工具包.
验证域名 检验一个字符串是否是个有效域名. 。
1
2
3
4
5
6
|
$url
=
"http://komunitasweb.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."
;
}
|
从一个字符串中 突出某个单词 这是一个非常有用的在一个字符串中匹配出某个单词 并且突出它,非常有效的搜索结果 。
1
2
3
4
5
|
$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(
"/b(regex)b/i"
,
'<span style="background:#5fc9f6">1</span>'
,
$text
);
echo
$text
;
|
突出查询结果在你的 WordPress 博客里就像刚才我说的,上面的那段代码可以很方便的搜索出结果,而这里是一个更好的方式去执行搜索在某个WordPress的博客上打开你的文件 search.php ,然后找到 方法 the_title() 然后用下面代码替换掉它 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
echo
$title
;
Now, just before the modified line, add this code:
<?php
$title
= get_the_title();
$keys
=
explode
(
" "
,
$s
);
$title
= preg_replace(
'/('
.implode(
'|'
,
$keys
) .
')/iu'
,
'<strong>\0</strong>'
,
$title
);
?>
Save the search.php file
and
open style.css. Append the following line to it:
strong.search-excerpt { background: yellow; }
|
从HTML文档中获得全部图片 如果你曾经希望去获得某个网页上的全部图片,这段代码就是你需要的,你可以轻松的建立一个图片下载机器人 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
$images
=
array
();
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
);
}
}
|
删除重复字母 经常重复输入字母? 这个表达式正适合. 。
1
|
$text
= preg_replace(
"/s(w+s)1/i"
,
"$1"
,
$text
);
|
删除重复的标点 功能同上,但只是面对标点,白白重复的逗号 。
1
|
$text
= preg_replace(
"/.+/i"
,
"."
,
$text
);
|
匹配一个XML或者HTML标签 这个简单的函数有两个参数:第一个是你要匹配的标签,第二个是包含XML或HTML的变量,再强调下,这个真的很强大 。
1
2
3
4
5
6
7
8
9
|
function
get_tag(
$tag
,
$xml
) {
$tag
= preg_quote(
$tag
);
preg_match_all(
'{<'
.
$tag
.
'[^>]*>(.*?)</'
.
$tag
.
'>.'
}',
$xml
,
$matches
,
PREG_PATTERN_ORDER);
return
$matches
[1];
}
|
匹配具有属性值的XML或者HTML标签 这个功能和上面的非常相似,但是它允许你匹配的标签内部有属性值,例如你可以轻松匹配 <div id=”header”> 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
function
get_tag(
$attr
,
$value
,
$xml
,
$tag
=null ) {
if
(
is_null
(
$tag
) )
$tag
=
'\w+'
;
else
$tag
= preg_quote(
$tag
);
$attr
= preg_quote(
$attr
);
$value
= preg_quote(
$value
);
$tag_regex
=
"/<("
.
$tag
.
")[^>]*$attr\s*=\s*"
.
"(['\"])$value\\2[^>]*>(.*?)<\/\\1>/"
preg_match_all(
$tag_regex
,
$xml
,
$matches
,
PREG_PATTERN_ORDER);
return
$matches
[3];
}
|
匹配十六进制颜色值 web开发者的另一个有趣的工具,它允许你匹配和验证十六进制颜色值. 。
1
2
3
4
|
$string
=
"#555555"
;
if
(preg_match(
'/^#(?:(?:[a-fd]{3}){1,2})$/i'
,
$string
)) {
echo
"example 6 successful."
;
}
|
查找页面 title 这段代码方便查找和打印 网页 <title> 和</title> 之间的内容 。
1
2
3
4
5
6
7
8
|
$fp
=
fopen
(
"http://www.catswhocode.com/blog"
,
"r"
);
while
(!
feof
(
$fp
) ){
$page
.=
fgets
(
$fp
, 4096);
}
$titre
=
eregi
(
"<title>(.*)</title>"
,
$page
,
$regs
);
echo
$regs
[1];
fclose(
$fp
);
|
解释 Apache 日志 大多数网站使用的都是著名的Apache服务器,如果你的网站也是,那么使用PHP正则表达式解析 apache 服务器日志 怎么样?
1
2
3
4
5
6
7
|
//Logs: Apache web server
//Successful hits to HTML files only. Useful for counting the number of page views.
'^((?#client IP or domain name)S+)s+((?#basic authentication)S+s+S+)s+[((?#date and time)[^]]+)]s+"(?:GET|POST|HEAD) ((?#file)/[^ ?"]+?.html?)??((?#parameters)[^ ?"]+)? HTTP/[0-9.]+"s+(?#status code)200s+((?#bytes transferred)[-0-9]+)s+"((?#referrer)[^"]*)"s+"((?#user agent)[^"]*)"$'
//Logs: Apache web server
//404 errors only
'^((?#client IP or domain name)S+)s+((?#basic authentication)S+s+S+)s+[((?#date and time)[^]]+)]s+"(?:GET|POST|HEAD) ((?#file)[^ ?"]+)??((?#parameters)[^ ?"]+)? HTTP/[0-9.]+"s+(?#status code)404s+((?#bytes transferred)[-0-9]+)s+"((?#referrer)[^"]*)"s+"((?#user agent)[^"]*)"$'
|
使用智能引号代替双引号 如果你是一个印刷爱好者,你将喜欢这个允许用智能引号代替双引号的正则表达式,这个正则被WORDPRESS在其内容上使用 。
1
|
preg_replace(
'B"b([^"x84x93x94rn]+)b"B'
,
'?1?'
,
$text
);
|
检验密码的复杂度 这个正则表达式将检测输入的内容是否包含6个或更多字母,数字,下划线和连字符. 输入必须包含至少一个大写字母,一个小写字母和一个数字 。
。
。
WordPress: 使用正则获得 帖子上的图片 我知道很多人是WORDPRESS的使用者,你可能会喜欢并且愿意使用 那些从帖子的内容检索下来的图像代码。使用这个代码在你的BLOG只需要复制下面代码到你的某个文件里 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<?php
if
(have_posts()) : ?>
<?php
while
(have_posts()) : the_post(); ?>
<?php
$szPostContent
=
$post
->post_content;
$szSearchPattern
=
'~<img [^>]* />~'
;
// Run preg_match_all to grab all the images and save the results in $aPics
preg_match_all(
$szSearchPattern
,
$szPostContent
,
$aPics
);
// Check to see if we have at least 1 image
$iNumberOfPics
=
count
(
$aPics
[0]);
if
(
$iNumberOfPics
> 0 ) {
// Now here you would do whatever you need to do with the images
// For this example the images are just displayed
for
(
$i
=0;
$i
<
$iNumberOfPics
;
$i
++ ) {
echo
$aPics
[0][
$i
];
};
};
endwhile
;
endif
;
?>
|
自动生成笑脸图案 被WordPress使用的另一个方法, 这段代码可使你把图像自动更换一个笑脸符号 。
1
2
|
$texte
=
'A text with a smiley '
;
echo
str_replace
(
':-)'
,
'<img src="smileys/souriant.png">'
,
$texte
);
|
移除图片的链接 。
1
2
3
4
5
6
7
8
9
10
11
12
|
<meta http-equiv=
"Content-Type"
content=
"text/html; charset=utf-8"
/>
<?php
$str
= '
<a href=
"http://www.5idev.com/"
>5idev</a>其他字符
<a href=
"http://www.sohu.com/"
>sohu</a>
<a href=
"http://www.sohu.com/"
><img src=
"http://www.fashion-press.net/img/news/3176/mot_06.jpg"
/></a>
<br>';
//echo preg_replace("/(<a.*?>)(<img.*?>)(<\/a>)/", '$2', $str);
echo
preg_replace(
"/(<a.*?>)(<img.*?>)(<\/a>)/"
,
'\2'
,
$str
);
?>
|
以上就是15个超实用的php正则表达式,希望对大家的学习有所帮助.
最后此篇关于15个超实用的php正则表达式的文章就讲到这里了,如果你想了解更多关于15个超实用的php正则表达式的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
💡 作者: 韩信子 @ ShowMeAI 📘 机器学习实战系列 : https://www.showmeai.tech/tutorials/41 📘
网络上关于SEO的文章实在是太多了,让很多新手站长都无法判别哪些是有用的,哪些是没有用的。尤其是外链建设这一块,如果被误导了,对网站将是沉重的打击。这里我整理一下比较有用的五种链接建设的方法,供大家
项目中经常有对时间进行处理的需求,下面是一些常用的操作整理,方便以后再次使用以及做相关复习。 1.字符串转换为日期 ?
有时候你会看到很Cool的Python代码,你惊讶于它的简洁,它的优雅,你不由自主地赞叹:竟然还能这样写。其实,这些优雅的代码都要归功于Python的特性,只要你能掌握这些Pythonic的技巧,你
曾经SEO流传一句老话,内容为王外链为皇,而到现在,这句话依然作为SEO优化的基础,但很多新手SEO朋友们往往在原创内容上碰壁,在2016年自媒体模式冲击下,外链的作用越来越弱,而导致了很多SEOe
本文讲述了PHP常见错误提示含义解释。分享给大家供大家参考,具体如下: 在学习PHP的时候,经常遇到各种错误提示,今天看到这错误提示和解释感觉挺好,现转过来,供我们学习。呵呵。。。。。 1、No
在现代 v8 Javascript 中,String.prototype.slice 的算法复杂度是多少? 明确地说,我正在寻找真实世界的实用数据或经验法则。 快速测试 我试图通过在最新的 Chrom
我上过几门关于 Java 的大学类(class)。然而,这些类缺少的是一些实用的 Java 方法——或者说,作为一个整体的编程。只有在企业中才能学到的东西。 但是,由于不允许我在工作场所使用 Java
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
使用新的替代工具来改进旧的命令行工具。 在Linux/Unix系统的日常使用中,我们需要使用很多命令行工具来完成工作,以及理解和管理我们的系统,例如使用du来监视磁盘利用率、top来显示系统资
灵感来自 Haskell API Search Engine 我开始想知道在 Scala 库中查找事物名称的正确方法是什么。 例如,假设我需要一些字符串变电站,例如搜索和替换。 StringOps 没
所以我已经阅读了很多这方面的内容,所以请知道我知道像 0.6 这样的数字不能绝对准确地表示为 Java double - 但我知道有一个 double 版本表示数字 0.6 足够接近,以至于在对该数字
我有一个 Django 应用程序,可以获取近乎实时的数据(推文和投票),尽管更新平均每分钟或两分钟发生一次。但是,我们希望通过在数据出现时立即更新站点和 api 结果来显示数据。 我们可能会在这个站点
我需要一个 double[],通过跨步 y 返回一个列表,将其分成 x 元素组。非常基本...一个循环和/或一些 linq 以及所有设置。然而,我并没有在扩展方法上花费太多时间,这看起来是一些练习的不
想要了解变量在 javascript 中如何在分配不同类型的值时工作。 类型 1:字符串 bool 值 类型 2:数组对象函数正则表达式日期 目前引用了两本引起混淆的书。 let mood = "li
我想在 iPad 中打开包含宏的 xls 文件。该宏与安全相关,并且已启用 xls 文件。如果我尝试使用 UIWebview 打开该文件,则会显示加密数据错误。如果 Excel 文件中禁用了宏,那么它
我发现自己在一个包含 Lua 的 C 项目中需要一个哈希表容器。我想知道是否可以将 Lua 中的哈希表用作通用容器。我查看了 ltable.h,所有函数都需要一个 Lua 状态并且似乎与 Lua 环境
尝试使用 Meteor 1.6 运行 practicalmeteor:mocha 时,我在终端上收到以下错误 Uncaught TypeError: MochaRunner.runEverywhere
我正在读《实用Django项目》这本书。这是一本好书。不过我有几个问题: 第71页,有以下代码: from django.conf.urls.defaults import * from dj
第 183 和 184 页有以下代码: def edit_snippet(request, snippet_id): snippet = get_object_or_404(Snippet,
我是一名优秀的程序员,十分优秀!