在PHP语言中有这样一个代码,与preg_match()函数的功能类似,叫做PHP函数preg_match_all()。如果使用了第三个参数,将把所有可能的匹配结果放入。本函数返回整个模式匹配的次数(可能为0),如果出错返回False。
#t#下面是一个将文本中的URL链接地址转换为HTML代码的示例。代码6.4是PHP函数preg_match_all()的使用范例。
代码6.4 将文本中的链接地址转成HTML
- < ?php
- //功能:将文本中的链接地址转成HTML
- //输入:字符串
- //输出:字符串
- function url2html($text)
- {
- //匹配一个URL,直到出现空白为止
- preg_match_all("/http:\/\/?[^\s]+/i"
, $text, $links);- //设置页面显示URL地址的长度
- $max_size = 40;
- foreach($links[0] as $link_url)
- {
- //计算URL的长度。如果超过$max_size的设置,则缩短。
- $len = strlen($link_url);
- if($len > $max_size)
- {
- $link_text = substr($link_url, 0, $max_size)."...";
- } else {
- $link_text = $link_url;
- }
- //生成HTML文字
- $text = str_replace($link_url,"
< a href='$link_url'>$link_texta>",$text);- }
- return $text;
- }
- //运行实例
- $str = “这是一个包含多个URL链接地址的多行文字。
欢迎访问http://www.taoboor.com”;- print url2html($str);
- /*输出结果
- 这是一个包含多个URL链接地址的多行文字
。欢迎访问< a href='http://www.taoboor.com'>- http://www.taoboor.coma>
- */
- ?>
希望大家通过以上PHP函数preg_match_all()的使用示例,能够充分掌握这一函数的应用。