在下面是一個將文本中的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_text",$text);- }
- return $text;
- }
- //運行實例
- $str = “這是一個包含多個URL鏈接地址的多行文字。
歡迎訪問http://www.taoboor.com”;- print url2html($str);
- /*輸出結果
- 這是一個包含多個URL鏈接地址的多行文字
。歡迎訪問< a href='http://www.taoboor.com'>- http://www.taoboor.com
- */
- ?>
希望大家通過以上PHP函數preg_match_all()的使用示例,能夠充分掌握這一函數的應用。