php中使用preg_replace函数匹配图片并加上链接的方法
介绍:preg_replace 执行正则表达式的搜索和替换,如果只是单纯的匹配字符串建议使用str_replace(),因为其执行效率高的多。
mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit])
在 subject 中搜索 pattern 模式的匹配项并替换为 replacement。如果指定了 limit,则仅替换 limit 个匹配,如果省略 limit 或者其值为 -1,则所有的匹配项都会被替换。
参照之前说过的 php用preg_match_all匹配文章中的图片 ,下面给出匹配图片并加上链接的代码:
<?php
$con = file_get_contents("http://www.jb51.net/");
$pattern="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg|\.png]))[\'|\"].*?[\/]?>/";
$new_con = preg_replace($pattern,"<a href='$1'>$0</a>",$con);
echo $new_con;
?>
说明:$0表示这个匹配内容,$1表示第一个()匹配的内容 $2表示第二个()匹配的内容,以此类推!
这样就给图片加上链接了,感兴趣的朋友不妨自己动手测试下哦。
相关推荐
-
php正则之函数 preg_replace()参数说明
preg_replace 字符串比对解析并取代. 语法: mixed preg_replace(mixed pattern, mixed replacement, mixed subject); 返回值: 混合类型资料 函数种类: 资料处理 内容说明 本函数以 pattern 的规则来解析比对字符串 subject,欲取而代之的字符串为参数 replacement.返回值为混合类型资料,为取代后的字符串结果. 使用范例 下例返回值为 $startDate = 6/19/1969 复
-
PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
前面我们已经学习了正则表达式的基础语法,包括了定界符.原子.元字符和模式修正 符.实际上正则表达式想要起作用的话,就必须借用正则表达式处理函数.本节我们就来介绍一下PHP中基于perl的正则表达式处理函数,主要包含了分割, 匹配,查找,替换等等处理操作,依旧是配合示例讲解,让我们开始吧. 和正则表达式一样,正则表达式处理函数不能够独立使用,而这必须相结合,才能够完成特定的功能.在前面我们也说过,基于perl的正则表达式要快于POXIS正则表达式处理函数,所以我们只介绍以preg开头的基于perl
-
PHP 字符串正则替换函数preg_replace使用说明
1. preg_replace() $msg = preg_replace("/<style>.+<\/style>/is", "", $msg); -----删除<style></style>和中间的部分 $msg = preg_replace("/<[^>]+>/", "", $msg); -----是删除<>和中间的内容 i (PCRE_CAS
-
php中preg_replace正则替换用法分析【一次替换多个值】
本文实例讲述了php中preg_replace正则替换用法.分享给大家供大家参考,具体如下: 1.php 的 preg_replace 与 str_replace 都是默认 /g 的,全部替换 2.如果需要使用正则表达式 需要使用preg_replace <?php $a = "abc defa bcd ef"; $b= preg_replace("/\t|a/","",$a); echo($b); /* 输出: bc def bcd ef
-
php正则替换变量指定字符的方法
本文实例讲述了php正则替换变量指定字符的方法.分享给大家供大家参考.具体如下: 这里介绍三种常用方法. 方法一: <?php $str = preg_quote('(银子)'); $txt = '我的呢称(银子)'; echo preg_replace("/($str)/","<span style='color:#f00;'>$1</span>",$txt); ?> 方法二: <?php $str = quotemeta
-
PHP5.2下preg_replace函数的问题
preg_replace 使用的超过了php5.2默认允许的字节,也就是pcre.backtrack_limit和pcre.recursion_limit的大小的问题. Discuz!6.0.0正式版程序发布以来,大家都热火朝天的升级中,但是部分插件在6.0下出现了问题 比如http://www.discuz.net/viewthread.php?tid=559133这个银行插件 在php为5.2.0及以上的环境下安装以后会出现白屏的问题 从Discuz!用户的角度考虑,我们需要去协助插件作者解
-
PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
本文实例讲述了PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法.分享给大家供大家参考,具体如下: 环境错误级别:error_reporting =E_ALL 某天我在研究一下php下的正则替换函数perg_replace(), 示例: 代码: $subject="2222<b>a</b>2222fff222222222A22222"; $pattern = "/(a)/e&q
-
PHP正则替换函数preg_replace和preg_replace_callback使用总结
在编写PHP模板引擎工具类时,以前常用的一个正则替换函数为 preg_replace(),加上正则修饰符 /e,就能够执行强大的回调函数,实现模板引擎编译(其实就是字符串替换). 详情介绍参考博文:PHP函数preg_replace() 正则替换所有符合条件的字符串 应用举例如下: 复制代码 代码如下: <?php /** * 模板解析类 */ class Template { public function compile($template) { // if逻辑 $template
-
详解PHP正则表达式替换实现(PHP preg_replace,PHP preg_replace)
PHP正则表达式替换实现是如何的呢?首先向你介绍下PHP preg_replace,PHP preg_replace的使用是我们实现的方法,那么对于PHP正则表达式替换实现过程我们从实例入手. PHP正则表达式替换的相关概念: preg_replace:执行正则表达式的搜索和替换 mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit]) preg_replace:允许你替换字符串中匹配到
-
PHP preg_replace() 正则替换所有符合条件的字符串
需要我们用程序处理的数据并不总是预先以数据库思维设计的,或者说是无法用数据库的结构去存储的. 比如模版引擎解析模版.垃圾敏感信息过滤等等. 一般这种情况,我们用正则按我们的规则去匹配preg_match.替换preg_replace. 但一般的应用中,无非是些数据库CRUD,正则摆弄的机会很少. 根据前面说的,两种场景:统计分析,用匹配:处理用替换. PHP preg_replace() 正则替换,与Javascript 正则替换不同,PHP preg_replace() 默认就是替换所有符号匹
-
如何在PHP中使用正则表达式进行查找替换
1. preg_match - 执行一个正则表达式匹配int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )搜索subject与pattern给定的正则表达式的一个匹配. pattern:要搜索的模式,字符串类型.subject :输入字符串. matches:如果提供了参数matches,它将被填充为搜索结果. $matche
-
PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式
在开发的过程中,经常会遇到需要给别人提供一个输入框,然后别人输入一些ID,或者关键字的东西,例如wordpress的后台的标签输入框: 这个就是只是判断英文状态下的逗号,要是有人不小心输入了中文状态下的逗号怎么办?小数点怎么办? 于是我就用正则写了一个表达式,把带有空格换行符之类的替换成逗号. 把提交的id带有空格换行符之类的替换成逗号,然后用explode函数切换成数组. 复制代码 代码如下: $ids=$_POST["ID"];$id= preg_replace("/(\
-
解析PHP正则提取或替换img标记属性
<?php/*PHP正则提取图片img标记中的任意属性*/$str = '<center><img src="/uploads/images/20100516000.jpg" height="120" width="120"><br />PHP正则提取或更改图片img标记中的任意属性</center>'; //1.取整个图片代码preg_match('/<\s*img\s+[^>]
随机推荐
- angularjs学习笔记之简单介绍
- MySQL Where 条件语句介绍和运算符小结
- WordPress导入数据库出现”Unknown collation: ‘utf8mb4_unicode_ci”错误的解决办法
- Windows系统下安装Tomcat服务器和配置虚拟目录的方法
- Java Benchmark 基准测试的实例详解
- ASP.NET2.0 SQL Server数据库连接详解
- express的中间件bodyParser详解
- 浅谈Python程序与C++程序的联合使用
- JavaScript判断文件上传类型的方法
- 自定义容器和字体大小
- JavaScript实现为指定对象添加多个事件处理程序的方法
- 微信小程序 location API实例详解
- python之文件的读写和文件目录以及文件夹的操作实现代码
- 利用 Monkey 命令操作屏幕快速滑动
- Android中Split()字符串分割特殊用法案例详解
- android ListView内数据的动态添加与删除实例代码
- 必须会的SQL语句(六) 数据查询
- 如何在sae中设置django,让sae的工作环境跟本地python环境一致
- CentOS7 Nvidia Docker环境搭建
- 详解Spring框架入门