php 替换字符串中的url 为a标签
2016-07-04 11:43
489 查看
<pre name="code" class="php"> public function formatUrlsInText($str){ preg_match_all('/((http|ftp|https):\/\/)?([\w_-]+(?:(?:\.[\w_-]+)+))([\w.,@?^=%&:\/~+#-]*[\w@?^=%&\/~+#-])?/',$str,$arr); if(!$arr[0]) { return $str; } $replaceOnce = function ($needle, $replace, $haystack){ $pos = strpos($haystack, $needle); if ($pos === false) {return $haystack;} return substr_replace($haystack, $replace, $pos, strlen($needle)); }; $_tmp = []; foreach ($arr[0] as $v) { $tmp = explode($v,$str); $_tmp[]=$tmp[0]; $_tmp[]="<a href='{$v}' target='_blank'>{$v}</a>"; $str = $replaceOnce($tmp[0].$v,'',$str); } return join($_tmp,' '); } $str = "你好http://write.blog.csdn.net/postedit?ref=toolbar&ticket=ST-99072-bM4IbtB2YfATabC70Q4Q-passport.csdn.net呵呵哒www.qq.com嗯嗯baidu.com"; echo urlToLink($str);
结果:
你好 http://write.blog.csdn.net/postedit?ref=toolbar&ticket=ST-99072-bM4IbtB2YfATabC70Q4Q-passport.csdn.net 呵呵哒www.qq.com 嗯嗯baidu.com
相关文章推荐
- 一个关于if else容易迷惑的问题
- java-用HttpURLConnection发送Http请求.
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- rem : web app适配的秘密武器
- jquery高级应用之Deferred对象
- 关于浮动与清除浮动,你应该知道的
- php7 读取php.ini[4]
- VBScript 剪贴板抓取URL并在浏览器中打开
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP