php实现使用正则将文本中的网址转换成链接标签_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;
}

时间: 2024-10-26 05:47:18

php实现使用正则将文本中的网址转换成链接标签_php技巧的相关文章

PHP正则匹配日期和时间(时间戳转换)的实例代码_php技巧

先来一个比较简单实用的代码 日期YYYY-MM-DD $str = ''; $isMatched = preg_match('/^\d{4}(\-|\/|.)\d{1,2}\1\d{1,2}$/', $str, $matches); var_dump($isMatched, $matches); php需要一定的时间格式才能转换成时间戳(表示从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数),这就要用到php正则判断,以下是代码: <?php //匹配时间格式为2016-0

PHP中常用的字符串格式化函数总结_php技巧

字符串的格式化就是将字符串处理为某种特定的格式.通常用户从表单中提交给服务器的数据都是字符串的形式,为了达到期望的输出效果,就需要按照一定的格式处理这些字符串后再去使用.经常见到的字符串格式化函数如下图所示: 注意:在PHP中提供的字符串函数处理的字符串,大部分都不是在原字符串上修改,而是返回一个格式化后的新字符串. 一.取出空格和字符串填补函数 空格也是一个有效的字符,在字符串中也会占据一个位置.用户在表单输入数据时,经常在无意中会多输入一些无意义的空格.因此PHP脚本在接收到通过表单处理过来

oracel-如何把下面的oracle中的存储过程转换成sql的?

问题描述 如何把下面的oracle中的存储过程转换成sql的? create or replace procedure BJ_MAXCASENO_Get(InCount in number, OutMaxCaseNO out number) as tem number; begin select max(caseno) into tem from BJ_MAXCASENO; if tem is null then tem := 0; -- 没有数据时新增0进入 insert into BJ_MA

生成富文本编辑器生成内容转换成json格式,解析出错,在mysql里面用什么类型保存

问题描述 生成富文本编辑器生成内容转换成json格式,解析出错,在mysql里面用什么类型保存 富文本怎么保存?保存在mysql里面用什么样的类型,还有就是能够获取到富文本的内容(包括标签什么的),用json怎么转换,用过转义也不行?求助啊!!!!

winform-我想在c#中把字符串转换成声音然后读出来

问题描述 我想在c#中把字符串转换成声音然后读出来 我得到系统当前日期,然后想让它读出来.求大神帮助,看了好多文件,有出先了新问题 拒绝访问. (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED)) 在线等!!!!

VB6.0语言中关于布尔表达式转换成字符串的问题

问题描述 VB6.0语言中关于布尔表达式转换成字符串的问题 VB6.0语言数据库里存储的布尔表达式怎么以结果的形式拿到值,或者字符串转换为表达式的运算 解决方案 你可以用scripthost去执行你的表达式,得到结果

shell .bat-将一段.bat文件中的命令转换成.sh文件中的命令

问题描述 将一段.bat文件中的命令转换成.sh文件中的命令 start jre/bin/java -jar zlzfofs.jar 9999 解决方案 BAT文件的所有命令和用法Red Hat下执行sh命令文件.bat文件中call命令的用法

Word文本或csv文件转换成表格的方法

  因为换手机的原因,机友们需要使用手机助手将电话本.通讯录导出的csv格式的文件,而导出的电话本之间都是逗号分隔,如何能将这些数据快速转换成表格呢,其实Word就有将文本转换成表格的功能. Word中文本转换成表格教程: 1.用word打开文本文件,或者将文本复制到word文档中来; 2.选中需要转换的文本部分; 3.点击"插入 -> 表格 -> 文本转换成表格",然后设置列数.行数和文字分隔位置,点击"确定"按钮. 就可以轻松的将文本转换成表格了,非

在PHP中使用与Perl兼容的正则表达式_php技巧

前言 PHP被大量的应用于Web的后台CGI开发,通常是在用户数据数据之后得出某种结果,但是如果用户输入的数据不正确,就会出现问题,比如说某人的生日是"2月30日"!那应该怎么样来检验暑假是否正确呢? 在PHP中加入了正则表达式的支持,让我们可以十分方便的进行数据匹配. 什么是正则表达式 简单的说,正则表达式是一种可以用于模式匹配和替换的强大工具.在几乎所有的基于UNIX/LINUX系统的软件工具中找到正则表达式的痕迹,例如:Perl或PHP脚本语言.此外,JavaScript这种客户