PHP函數(shù)preg_match_all()的相關(guān)使用方法介紹
在PHP語(yǔ)言中有這樣一個(gè)代碼,與preg_match()函數(shù)的功能類似,叫做PHP函數(shù)preg_match_all()。如果使用了第三個(gè)參數(shù),將把所有可能的匹配結(jié)果放入。本函數(shù)返回整個(gè)模式匹配的次數(shù)(可能為0),如果出錯(cuò)返回False。
#t#下面是一個(gè)將文本中的URL鏈接地址轉(zhuǎn)換為HTML代碼的示例。代碼6.4是PHP函數(shù)preg_match_all()的使用范例。
代碼6.4 將文本中的鏈接地址轉(zhuǎn)成HTML
- < ?php
- //功能:將文本中的鏈接地址轉(zhuǎn)成HTML
- //輸入:字符串
- //輸出:字符串
- function url2html($text)
- {
- //匹配一個(gè)URL,直到出現(xiàn)空白為止
- preg_match_all("/http:\/\/?[^\s]+/i"
, $text, $links);- //設(shè)置頁(yè)面顯示URL地址的長(zhǎng)度
- $max_size = 40;
- foreach($links[0] as $link_url)
- {
- //計(jì)算URL的長(zhǎng)度。如果超過(guò)$max_size的設(shè)置,則縮短。
- $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;
- }
- //運(yùn)行實(shí)例
- $str = “這是一個(gè)包含多個(gè)URL鏈接地址的多行文字。
歡迎訪問(wèn)http://www.taoboor.com”;- print url2html($str);
- /*輸出結(jié)果
- 這是一個(gè)包含多個(gè)URL鏈接地址的多行文字
。歡迎訪問(wèn)< a href='http://www.taoboor.com'>- http://www.taoboor.coma>
- */
- ?>
希望大家通過(guò)以上PHP函數(shù)preg_match_all()的使用示例,能夠充分掌握這一函數(shù)的應(yīng)用。