PHP文本路径转换为链接文字
<?php
/**
* 文本路径转换为有链接的文字
* @param string $str 转换内容
* @return string
*/
function urlToLink($str) {
$arr = array("www." => "http://www.");
$str = strtr($str, $arr);
$arr = array("http://http://" => "http://");
$str = strtr($str, $arr);
$str2 = explode("http://", $str);
for ($n = 1; isset($str2[$n]); $n ++) {
$str3 = explode(".", $str2[$n]);
if (isset($str3[1])) {
$str4 = explode("www.", $str2[$n]);
if ((isset($str4[1]) && isset($str3[2])) || !isset($str4[1])) {
$length = strlen($str2[$n]);
for ($i = 0; $i <= $length; $i ++) {
//从空格断开
if (($i - 1) == strlen(trim(mb_substr($str2[$n], 0, $i, 'gb2312')))) {
$ii = $i - 1;
$url1 = mb_substr($str2[$n], 0, $ii, 'gb2312');
$url2 = mb_substr($str2[$n], $ii, $length, 'gb2312');
$url3 = "<a href=\"http://" . $url1 . "\" target=\"_blank\">http://" . $url1 . "</a>" . $url2;
break;
} //从出现汉字处断开
if ($i != strlen(mb_substr($str2[$n], 0, $i, 'gb2312'))) {
$ii = $i - 1;
$url1 = mb_substr($str2[$n], 0, $ii, 'gb2312');
$url2 = mb_substr($str2[$n], $ii, $length, 'gb2312');
$url3 = "<a href=\"http://" . $url1 . "\" target=\"_blank\">http://" . $url1 . "</a>" . $url2;
break;
}
if ($i == $length)
$url3 = "<a href=\"http://" . $str2[$n] . "\" target=\"_blank\">http://" . $str2[$n] . "</a>";
}
} else
$url3 = "http://" . $str2[$n];
} else
$url3 = "http://" . $str2[$n];
$url .= $url3;
}
if (substr($str, 0, 7) == "http://")
$url = "<a href=\"http://$str2[0]\" target=\"_blank\">" . $str2[0] . "</a>" . $url;
else
$url = $str2[0] . $url;
return $url;
}
?>
PHP文本路径转换为链接文字的更多相关文章
- javaScript识别网址文本并转为链接文本
最近项目有个需求:用户之间发送消息时,如果发送者输入的信息中含有网址文本,要在接受者界面中显示网址链接,点击该链接直接跳转到网页.这个功能和 QQ 发送网址文本的效果非常像,可以说是一模一样的. 思路 ...
- Javascript 将图片的绝对路径转换为base64编码
Javascript将图片的绝对路径转换为base64编码 我们可以使用canvas.toDataURL的方法将图片的绝对路径转换为base64编码:在这我们引用的是淘宝首页一张图片如下: var i ...
- Windows文件路径转换为java中可识别的文件路径的转义方法,(另附转义多种格式)
ps:欢迎加qq好友:2318645572,交流学习 一:路径转化 Windows中的文件路径格式为 D:\eclipse\apache-tomcat-7.0.67\wtpwebapps\... Ja ...
- iOS开发富文本制作 图片和文字/NSMutableParagraphStyle/NSMutableAttributedString
/NSMutableParagraphStyle/NSMutableAttributedString 组合使 NSString * titlestr=@"日产GT-R"; NSMu ...
- 将windows文本格式转换为UNIX格式
将windows文本格式转换为UNIX格式 1.使用sed命令来进行转换,如下: sed -e ’s,^M,,g’ textfile 其中^M的输入方法是Ctrl+V, Ctrl+M 对于批量文件的处 ...
- 通过正则把文本里的链接加上a标签
把文本里的链接替换成a标签 function addLinks($text) { return preg_replace('/(http[s]?:\/\/[A-Za-z0-9]+\.[A-Za-z0- ...
- Js 将图片的绝对路径转换为base64编码
转.... 我们可以使用canvas.toDataURL的方法将图片的绝对路径转换为base64编码:在这我们引用的是淘宝首页一张图片如下: var img = "https://img. ...
- JS事件 内容选中事件(onselect)选中事件,当文本框或者文本域中的文字被选中时,触发onselect事件,同时调用的程序就会被执行。
内容选中事件(onselect) 选中事件,当文本框或者文本域中的文字被选中时,触发onselect事件,同时调用的程序就会被执行. 如下代码,当选中用户文本框内的文字时,触发onselect 事件, ...
- C# 设置Word文本框中的文字旋转方向
在Word中可插入文本框,默认情况下插入的文本框中的文字方向为横向排列,对于一些特殊文档的设计要求,需要改变文字方向,如本次测试中的文档排版为考生试卷类型,考生信息栏的内容为下图中的这种, 本文将以C ...
随机推荐
- 复习java7 集合的底层实现理解
1.ArrayList 特点:查询快,增删慢,可以重复,无序 实现:底层是用数组实现的,在添加数据的时候,当数组已经满了,会扩容,默认增加1.5倍的原数组长度,并将旧的数组数据拷贝到新的数组上. 2. ...
- CSS3 六边形绘制
把一个104px的div放在它们之间,设置一个背景颜色: width: 0; border-bottom: 30px solid #6C6; border-left: 52px solid trans ...
- Objective-C Runtime 运行时之四:Method Swizzling(转载)
理解Method Swizzling是学习runtime机制的一个很好的机会.在此不多做整理,仅翻译由Mattt Thompson发表于nshipster的Method Swizzling一文. Me ...
- php核心编程
搭建web服务器的环境(配置PHP的工作环境): 首先要配置php,在Apache的配置文件夹中httpd.conf中配置 1把php配置成Apache的一个功能模块 LoadModule php5_ ...
- iScroll 下 a 标签失效
遇到个莫名其妙的问题,iScroll 下的 a 标签点击没有反应了,不管怎么调整 z-index 都无效果,很是无语. 查找半天后找到解决方法: $(function(){ new IScroll(' ...
- 第一百二十节,JavaScript事件对象
JavaScript事件对象 学习要点: 1.事件对象 2.鼠标事件 3.键盘事件 4.W3C与IE JavaScript事件的一个重要方面是它们拥有一些相对一致的特点,可以给你的开发提供更多的强大功 ...
- iOS开发系列-九宫格算法-xib
给大家演示 应用程序下载 小项目,效果图:涉及知识点:懒加载,九宫格算法,字典转模型,自定义UIView ,xib文件的使用 首先把素材拖到Xcode项目中:简单看一下素材文件 此时大家应该首先关注. ...
- Tomcat7性能调优
open files 修改linux系统open files限制,通过ulimit –a可看到系统默认的一个进程最大打开文件数为1024,linux系统中一切皆为文件,包含socket连接,需将些值调 ...
- 按键精灵http.定义getWeb
Function 取网页源码(URL) Set objXML=CreateObject("Microsoft.XMLHTTP") objXML.Open "Get&quo ...
- C++把引用作为返回值
当返回一个引用时,要注意被引用的对象不能超出作用域.所以返回一个对局部变量的引用是不合法的,但是,可以返回一个对静态变量的引用. int& func() { int q; //! return ...