一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

php获取指定字符之间内容实现代码

时间:2012-10-09 编辑:简简单单 来源:一聚教程网

代码如下:

 代码如下 复制代码
function get_between($input, $start, $end) { 
 
  $substr = substr($input, strlen($start)+strpos($input, $start),
 
 (strlen($input) - strpos($input, $end))*(-1)); 
 
  return $substr; 
 

 
$string = "www.111com.net"; 
 
$start = "www."; 
 
$end = ".com"; 
 
echo get_between($string, $start, $end);  // output:hzhuti

不过这个函数有个局限,就是$start子串和$end子串在整个串中只能出现一次。请看下面的例子:

 代码如下 复制代码
$string = "http://www.111com.net/"; 
 
$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 "];
}
?>

热门栏目