php实现使用正则将文本中的网址转换成链接标签
function text2links($str='') {
if($str=='' or !preg_match('/(http|www\.|@)/i', $str)) { return $str; }
$lines = explode("\n", $str); $new_text = '';
while (list($k,$l) = each($lines)) {
// replace links:
$l = preg_replace("/([ \t]|^)www\./i", "\\1http://www.", $l);
$l = preg_replace("/([ \t]|^)ftp\./i", "\\1ftp://ftp.", $l);
$l = preg_replace("/(http:\/\/[^ )\r\n!]+)/i",
"<a href=\"\\1\">\\1</a>", $l);
$l = preg_replace("/(https:\/\/[^ )\r\n!]+)/i",
"<a href=\"\\1\">\\1</a>", $l);
$l = preg_replace("/(ftp:\/\/[^ )\r\n!]+)/i",
"<a href=\"\\1\">\\1</a>", $l);
$l = preg_replace(
"/([-a-z0-9_]+(\.[_a-z0-9-]+)*@([a-z0-9-]+(\.[a-z0-9-]+)+))/i",
"<a href=\"mailto:\\1\">\\1</a>", $l);
$new_text .= $l."\n";
}
return $new_text;
}
相关推荐
-
PHP正则表达式过滤html标签属性(DEMO)
过滤html标签在php中可以有内置的函数了,但它过滤的太干净了,我们就整理了一下些利用正则来过滤指定html标签的例子,具体如下所示. 采集的时候有时候需要过滤掉多余的标签属性,比如 img标签过滤掉除了src属性之外的所有属性例如删除titile alt等属性以及一些脚的onclick属性等. 例如 过滤除了src之外的所有属性: 复制代码 代码如下: $str= preg_replace('/\s(?!src)[a-zA-Z]+=[\'\"]{1}[^\'\"]+[\'\&quo
-
PHP正则删除html代码中a标签并保留标签内容的方法 原创
本文实例讲述了PHP正则删除html代码中a标签并保留标签内容的方法.分享给大家供大家参考,具体如下: 一.问题: 有HTML代码如: <div>欢迎访问我们<a href=http://www.jb51.net>www.jb51.net</a></div> 要求正则删除a标签,同时保留a标签内容,如下: <div>欢迎访问我们www.jb51.net</div> 二.解决方法: $str = "<div>欢迎访
-
php正则匹配html中带class的div并选取其中内容的方法
本文实例讲述了php正则匹配html中带class的div并选取其中内容的方法.分享给大家供大家参考.具体分析如下: 先看一段html代码: 复制代码 代码如下: <div class="chartInfo"> <div class="line"></div> <div class="tideTable"> <strong>潮汐表</strong>数据仅供参
-
php正则删除html代码中class样式属性的方法 原创
本文实例讲述了php正则删除html代码中class样式属性的方法.分享给大家供大家参考,具体如下: 一.问题: 有如下代码: <div class="jb51"><div class="jb51_txt">欢迎访问我们</div></div> 要求:删除HTML代码中的class属性. 二.实现方法: php实现代码如下: $str='<div class="jb51"><div
-
php正则过滤html标签、空格、换行符的代码(附说明)
复制代码 代码如下: $str=preg_replace("/\s+/", " ", $str); //过滤多余回车 $str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格) $str=preg_replace("/<\!--.*?-->/si","",$str); //
-
php 正则 过滤html 的超链接
<?php echo preg_replace("/(?<=href=)([^\>]*)(?=\>)/i","#", "<a href='www.csdn.net'>你好,点这里看看</a><a href='www.jb51.net'>你好,点这里看看</a>"); ?> 正则:/(?<=href=)([^\>]*)(?=\>)/ (?<=exp
-
php使用正则表达式去掉html中的注释方法
最近在项目中在需要输出浏览器中的源文件需要去掉html中的注释,在网上看了很多的方案,不过很多的答案都是一样的,并不能解决我的问题,于是就自己写正则表达式,也对正则有了更加深刻的理解. 首先比较基础的是: $a = '<!--ceshi-->ceshi'; $a = preg_replace('#<!--.*-->#' , '' , $a); var_dump($a); 上面的代码会输出ceshi. 但是如果是下面的字符串的话,就不能达到我们希望的效果了 $a = '<!--
-
PHP html标签正则替换并可自定义正则规则
复制代码 代码如下: <?php function pregstring($str){ $strtemp = trim($str); $search = array( "|'|Uis", "|<script[^>].*?</script>|Uis", // 去掉 javascript "|\[字定义\].*\[/字定义\]|Uis", // 去掉缩略图 "|<[\/\!].*?[^<>]*
-
php过滤HTML标签、属性等正则表达式汇总
$str=preg_replace("/\s+/", " ", $str); //过滤多余回车 $str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格) $str=preg_replace("/<\!--.*?-->/si","",$str); //注释 $str=p
-
PHP中过滤常用标签的正则表达式
我们常常会用到PHP过滤一些标签的功能,比如过滤链接标签.过滤script标签等等,下面就介绍一下PHP过滤常用标签的正则表达式代码: $str=preg_replace("/\s+/", " ", $str); //过滤多余回车 $str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格) $str=preg_replace
-
php正则删除img标签的方法示例 原创
本文实例讲述了php正则删除img标签的方法.分享给大家供大家参考,具体如下: 一.问题 正则抓取过程中需要删除正文中的img标签,如: <div>欢迎访问我们<img src="http://www.jb51.net/images/logo.gif" /></div> 要求删除后变成: <div>欢迎访问我们</div> 二.解决方法: $str='<div>欢迎访问我们<img src="htt
-
PHP实现通过正则表达式替换回调的内容标签
本文实例讲述了PHP实现通过正则表达式替换回调的内容标签.分享给大家供大家参考.具体实现方法如下: function my_wp_plugin_tag_action($content,$tag,$function,$args = FALSE) { // match all regular expressions preg_match_all($tag,$content,$matches); if (count($matches)>0) { // filter duplicates $matche
随机推荐
- python Pygame的具体使用讲解
- VC用Ado接口连接和使用数据库及注意事项
- js实现的xml对象转json功能示例
- 浅谈MySQL和mariadb区别
- 用vbs实现配置无人登录计算机时使用的屏幕保护程序
- iOS+PHP注册登录系统 iOS部分(下)
- ajaxControlToolkit中CascadingDropDown的用法说明
- PHP转换IP地址到真实地址的方法详解
- PHP使用DOM和simplexml读取xml文档的方法示例
- PHP、Java des加密解密实例
- python实现获取Ip归属地等信息
- iOS自定义collectionView实现毛玻璃效果
- Android 事件分发详解及示例代码
- php判断数组中是否存在指定键(key)的方法
- Python实现Mysql数据库连接池实例详解
- 浅谈jquery页面初始化的4种方式
- android获取相册图片和路径的实现方法
- Android开发中Eclipse报错及对应处理方法总结
- JQuery动画和停止动画实例代码
- jQuery 绝对入门第1/2页