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 "; |