`
化蝶自在飞
  • 浏览: 2330049 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
社区版块
存档分类
最新评论

php正则匹配url地址并自动添加链接

    博客分类:
  • php
阅读更多
php正则实现,自动匹配字符串是否为url地址,是的话自动加上链接,测试可以用.
代码如下:

<?php
function autolink($foo) 
{
$foo = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)', '<a href="\1" target=_blank rel=nofollow>\1</a>', $foo);
if( strpos($foo, "http") === FALSE ){
$foo = eregi_replace('(www.[-a-zA-Z0-9@:%_\+.~#?&//=]+)', '<a href="http://\1" target=_blank rel=nofollow >\1</a>', $foo);
}else{
$foo = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_\+.~#?&//=]+)', '\1<a href="http://\2" target=_blank rel=nofollow>\2</a>', $foo);
}
return $foo; 
}
?>


调用这个函数来处理字符串如下:
<?php
$str = 'http://www.k686.com';
echo autolink($str);
?>


这里输出来的时候, http://www.k686.com 这个网址就被加上链接了.效果就像 http://www.k686.com 这一样一样的.

注意哦,上面正则匹配里有一句 rel=nofollow ,这个是告诉搜索引擎们,这个链接不要去抓取,它和我们网站没有关系.这在处理广告链接上不失是一个好办法.
分享到:
评论
1 楼 364902709 2010-06-23  
http://tuzwu.iteye.com/blog/673146http://tuzwu.iteye.com/blog/673146
这样的就错了。。。

相关推荐

    正则函数匹配修改

    3. **正则匹配路由**:在URL路由中,我们可能需要捕获路径参数。例如,路由`/users/{id}`,`{id}`应该是一个数字。我们可以这样匹配: ```php $route = "/users/123"; $pattern = "#^/users/(\d+)$#"; preg_...

    PHP常用正则表达式汇总

    本文将对一系列常用的PHP正则表达式进行汇总和解释,帮助开发者更好地理解和运用这些模式。 #### 1. 数字匹配 - **"^\\d+$"**:匹配由一个或多个数字组成的字符串。 - **"^[0-9]*[1-9][0-9]*$"**:匹配非零的正...

    PHP正则匹配图片并给图片加链接详解

    ### PHP正则匹配图片并给图片加链接详解 在日常的网站开发中,我们经常会遇到需要处理HTML内容的情况,比如给文章中的图片自动添加链接、调整图片大小等。本文将详细解析如何使用PHP中的正则表达式来实现给文章中的...

    PHP 正则获取字符串的URL

    因此,构造一个匹配URL的正则表达式需要考虑到这些元素的多样性。 下面是一个基本的正则表达式,用于匹配大部分URL: ```php $url_pattern = '~\b(?:https?|ftp)://[^\s/$.?#]+.[^\s]*\b~i'; ``` 这个正则表达式...

    PHP用正则表达式过滤超链接

    - 使用`preg_match_all()`函数执行正则匹配。该函数返回所有匹配的结果,并将结果保存到数组`$m`中。 3. **输出结果**: - 第一个`print_r($m[2])`输出的是所有匹配到的超链接地址。 - 第二个`print_r($m[4])`...

    php常用正则表达式集锦

    - **应用场景**:匹配标准的电子邮件地址格式。 - **示例**:`"example@example.com"`、`"user.name@example.org"` - **用途**:适用于电子邮件地址验证的场景。 #### 17. ^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*...

    php正则匹配html中带class的div并选取其中内容的方法_.docx

    然后,我们可以使用`preg_match_all`函数来查找所有匹配的div元素,并将它们存储在`$matches`数组中: ```php if (preg_match_all($regex4, $return, $matches)) { print_r($matches); } else { echo '0'; } ``` ...

    php用正则表达式匹配URL的简单方法

    结果和parse_url()函数差不多,是使用正则实现的。URI 是 Web上可用的每种资源 – HTML文档、图像、视频片段、程序等 – 由一个通用资源标志符(Uniform Resource Identifier, 简称”URI”)进行定位。 对象分组:...

    php正则匹配文章中的远程图片地址并下载图片至本地

    总结来说,通过使用PHP正则表达式匹配远程图片地址,并利用文件处理函数将图片下载并保存到本地服务器,可以实现文章内容中图片的有效采集。这项技术在网站开发、数据采集等领域非常实用。需要注意的是,进行此类...

    php正则匹配html中带class的div并选取其中内容的方法

    在PHP正则表达式中,经常使用的是preg_match_all函数,它能够执行一个全局正则表达式匹配,也就是找到字符串中所有与模式匹配的子串。配合正则表达式,开发者可以定义复杂的匹配规则,比如匹配具有特定class属性的...

    神奇的匹配 正则表达式求精之旅

    并基于目前流行的程序语言和应用环境(如C#、ASP.NET、JSP、JavaScript或PHP),全面介绍了创建正则表达式的方法,以及正则表达式在Web环境中的各种应用。 《神奇的匹配:正则表达式求精之旅》适合广大Web网站开发...

    php正则表达式大全

    正则表达式在PHP中被广泛应用于数据验证、文本提取等方面,如检查电子邮件格式、验证电话号码、处理URL等。 在PHP中,正则表达式的基本元素是模式,它们是由普通字符或特殊字符组成的字符串。模式可以简单,也可以...

    php之正则速查表,匹配大全

    $`:这个模式用于验证URL地址。 15. `^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$` 和 `^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$`:这两个模式用于验证...

    JavaScript正则获取地址栏中参数的方法

    JavaScript正则获取地址栏中参数的方法主要阐述了如何通过正则表达式在JavaScript中获取URL地址栏参数值的技巧。这一方法在Web开发中十分实用,尤其是在处理动态地址时,我们经常需要获取某些特定的查询参数值。通过...

    精通正则表达式基于.NET ASP PHP JSP JavaScript

    ASPNETValidator/REUrl.aspx URL地址格式验证 ASPNETValidator/SummaryDialog.aspx 对话框式验证摘要 ASPNETValidator/SummaryPage.aspx 网页式验证摘要 第11章(/11/) 判断是否为对象.asp ...

    PHP使用正则验证数据

    // 执行正则匹配 return preg_match($rule, $value) === 1; } ``` ##### 3.1 验证规则定义 - **require**:非空验证,确保至少有一个字符。 - **email**:邮箱验证,检查输入是否符合标准的电子邮件格式。 - **...

    php_正则表达式.pdf

    为了更好地理解和运用正则表达式,《php_正则表达式.pdf》提供了大量实例,如电子邮件地址的验证(如 `^.+@.+\\..+$`)、URL的解析、日期格式的校验等,涵盖了日常开发中常见的需求场景。 ### 运算优先级与匹配规则...

Global site tag (gtag.js) - Google Analytics