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代码中class样式属性的方法 原创
本文实例讲述了php正则删除html代码中class样式属性的方法.分享给大家供大家参考,具体如下: 一.问题: 有如下代码: <div class="jb51"><div class="jb51_txt">欢迎访问我们</div></div> 要求:删除HTML代码中的class属性. 二.实现方法: php实现代码如下: $str='<div class="jb51"><div
-
PHP html标签正则替换并可自定义正则规则
复制代码 代码如下: <?php function pregstring($str){ $strtemp = trim($str); $search = array( "|'|Uis", "|<script[^>].*?</script>|Uis", // 去掉 javascript "|\[字定义\].*\[/字定义\]|Uis", // 去掉缩略图 "|<[\/\!].*?[^<>]*
-
PHP中过滤常用标签的正则表达式
我们常常会用到PHP过滤一些标签的功能,比如过滤链接标签.过滤script标签等等,下面就介绍一下PHP过滤常用标签的正则表达式代码: $str=preg_replace("/\s+/", " ", $str); //过滤多余回车 $str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格) $str=preg_replace
-
php正则过滤html标签、空格、换行符的代码(附说明)
复制代码 代码如下: $str=preg_replace("/\s+/", " ", $str); //过滤多余回车 $str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格) $str=preg_replace("/<\!--.*?-->/si","",$str); //
-
PHP正则表达式过滤html标签属性(DEMO)
过滤html标签在php中可以有内置的函数了,但它过滤的太干净了,我们就整理了一下些利用正则来过滤指定html标签的例子,具体如下所示. 采集的时候有时候需要过滤掉多余的标签属性,比如 img标签过滤掉除了src属性之外的所有属性例如删除titile alt等属性以及一些脚的onclick属性等. 例如 过滤除了src之外的所有属性: 复制代码 代码如下: $str= preg_replace('/\s(?!src)[a-zA-Z]+=[\'\"]{1}[^\'\"]+[\'\&quo
-
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
-
php正则匹配html中带class的div并选取其中内容的方法
本文实例讲述了php正则匹配html中带class的div并选取其中内容的方法.分享给大家供大家参考.具体分析如下: 先看一段html代码: 复制代码 代码如下: <div class="chartInfo"> <div class="line"></div> <div class="tideTable"> <strong>潮汐表</strong>数据仅供参
-
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 的超链接
<?php echo preg_replace("/(?<=href=)([^\>]*)(?=\>)/i","#", "<a href='www.csdn.net'>你好,点这里看看</a><a href='www.jb51.net'>你好,点这里看看</a>"); ?> 正则:/(?<=href=)([^\>]*)(?=\>)/ (?<=exp
-
php正则删除img标签的方法示例 原创
本文实例讲述了php正则删除img标签的方法.分享给大家供大家参考,具体如下: 一.问题 正则抓取过程中需要删除正文中的img标签,如: <div>欢迎访问我们<img src="http://www.jb51.net/images/logo.gif" /></div> 要求删除后变成: <div>欢迎访问我们</div> 二.解决方法: $str='<div>欢迎访问我们<img src="htt
-
php使用正则表达式去掉html中的注释方法
最近在项目中在需要输出浏览器中的源文件需要去掉html中的注释,在网上看了很多的方案,不过很多的答案都是一样的,并不能解决我的问题,于是就自己写正则表达式,也对正则有了更加深刻的理解. 首先比较基础的是: $a = '<!--ceshi-->ceshi'; $a = preg_replace('#<!--.*-->#' , '' , $a); var_dump($a); 上面的代码会输出ceshi. 但是如果是下面的字符串的话,就不能达到我们希望的效果了 $a = '<!--
-
php过滤HTML标签、属性等正则表达式汇总
$str=preg_replace("/\s+/", " ", $str); //过滤多余回车 $str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格) $str=preg_replace("/<\!--.*?-->/si","",$str); //注释 $str=p
随机推荐
- winx64下mysql5.7.19的基本安装流程(详细)
- JScript实现表格的简单操作
- IOS 开发之PickerView自定义视图的实例详解
- PHP实现远程下载文件到本地
- 表单复选框向PHP传输数据的代码
- javascript动态修改Li节点值的方法
- JSP 开发中过滤器filter设置编码格式的实现方法
- sql server中随机函数NewID()和Rand()
- 微信小程序授权获取用户详细信息openid的实例详解
- 屏蔽PHP默认设置中的Notice警告的方法
- asp 动态数组 提供Add、Insert、Remove、RemoveAt、Search等方法。
- 如何用java生成指定范围的随机数
- 超详细的CMD DOS下符号的作用参考第1/2页
- SQL Server 性能调优之查询从20秒至2秒的处理方法
- 安装SQL2008时提示删除SQL2005Express工具的解决方法
- JavaScript中也使用$美元符号来代替document.getElementById
- Android webview打开本地图片上传实现代码
- Linux C 时间函数应用
- 用Maven插件生成Mybatis代码的实现方法
- WebService 的简单封装接口调用方法
