Heim >Backend-Entwicklung >PHP-Tutorial >php获取指定字符之间内容实现代码_PHP教程

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

WBOY
WBOYOriginal
2016-07-13 16:56:271045Durchsuche

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 "];
}
?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/631594.htmlTechArticlephp获取指定字符之间内容实现代码,这是一个获取字符串中两个子串之间的子串,如从字符串www.hzhuti.com中获取hzhuti子串,就让这个PHP函数来...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn