2010-08-23 57 views
0

如何提取之间串[和]PHP提取物串[和]

我尝试使用TRIM(),但我相信修剪()只能在去掉空格。

ex。 [ABC123-AB:AB123] 输出应该是 - > ABC123-AB:AB123

回答

2

Trim会工作,如果你给它第二个参数:

trim($str, '[]'); 

但如果是 “[]” 的意志永远是字符串的开头和结尾(他们需要进行修剪工作),一个更好的解决办法可能是substr

substr($str, 1, -1); 
+0

装饰($海峡,“[]”);将无法正常工作我已经尝试过了。 而对于substr($ str,1,-1),并非所有都有[],所以这不会是适合这种情况的正确方法,但对于那些使用[]的方法来说,它正在工作。 – anonymous123 2010-08-25 02:13:45

+0

修剪似乎对我来说,我错过了一些东西: foreach(array('[123]','456')as $ x){ var_dump(trim($ x,'[''')); } 切记修剪返回新的字符串,它不会修改它的位置。 – 2010-08-25 05:05:57

0
function between($t1,$t2,$page) { 
    $p1=stripos($page,$t1); 
    if($p1!==false) { 
     $p2=stripos($page,$t2,$p1+strlen($t1)); 
       if($p2===false) { return false; } 
    } else { 
     return false; 
    } 
    return substr($page,$p1+strlen($t1),$p2-$p1-strlen($t1)); 
} 

$mytext=between('[',']',$str); 
if($mytext!==false) { 
    //do something here 
}