php擷取指定字元之間內容實現代碼,這是一個擷取字串中兩個子串之間的子串,如從字串www.hzhuti.com中擷取hzhuti子串,就讓這個PHP函數來實現吧,
代碼如下:
| 代碼如下 |
複製代碼 |
function get_between($input, $start, $end) { $substr = substr($input, strlen($start)+strpos($input, $start), (strlen($input) - strpos($input, $end))*(-1)); return $substr; } $string = "www.hzhuti.com"; $start = "www."; $end = ".com"; echo get_between($string, $start, $end); // output:hzhuti |
不過這個函數有個局限,就是$start子串和$end子串在整個串中只能出現一次。請看下面的例子:
| 代碼如下 |
複製代碼 |
$string = "http://www.hzhuti.com/"; $start = "http://"; $end = "/"; |
很明顯我想擷取這個標準URL的網域名稱部分,由於$end子串在整個串中不是唯一的,所以就會出現問題,請使用時務必注意!
例
如
NAS/NMS COMPSITE (NasdaqSC:^IXIC) Quote data by ReutersIndex Value:2,030.08Trade Time:5:16PM ETChange: 35.40 (1.71%)Prev Close:2,065.48Open:2,072.95Day 's Range:2,026.20 - 2,073.4252wk Range:1,359.32 - 2,153.831d
這樣的一個字串,我要截取Index Value:和Trade Time:之間的資料2,030.08,怎麼截取?我要通用的方法
代碼
| 代碼如下 |
複製代碼 |
$str= "NAS/NMS COMPSITE (NasdaqSC:^IXIC) Quote data by ReutersIndex Value:2,030.08Trade Time:5:16PM ETChange: 35.40 (1.71%)Prev Close:2,065.48Open:2,072.95Day 's Range:2,026.20 - 2,073.4252wk Range:1,359.32 - 2,153.831d "; preg_match( " 'Index Value:(.+)Trade Time 's ",$str,$arr); if($arr){ echo $arr[ "1 "]; } ?> |
http://www.bkjia.com/PHPjc/631594.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/631594.htmlTechArticlephp擷取指定字元之間內容實現代碼,這是一個擷取字串中兩個子串之間的子串,如從字串www.hzhuti.com中擷取hzhuti子串,就讓這個PHP函數來...