2010-09-09 171 views
18

我想explode所有的字符串:多爆炸字符連字符( - )

  1. 空格(\ n \ t等)
  2. 逗號
  3. 連字符(小破折號)。像這樣>> -

但是,這並不工作:

$keywords = explode("\n\t\r\a,-", "my string"); 

如何做到這一點?

回答

45

爆炸無法做到這一點。有一個很好的功能,稱爲preg_split。像這樣做:

$keywords = preg_split("/[\s,-]+/", "This-sign, is why we can't have nice things"); 
var_dump($keywords); 

此輸出:

array 
    0 => string 'This' (length=4) 
    1 => string 'sign' (length=4) 
    2 => string 'is' (length=2) 
    3 => string 'why' (length=3) 
    4 => string 'we' (length=2) 
    5 => string 'can't' (length=5) 
    6 => string 'have' (length=4) 
    7 => string 'nice' (length=4) 
    8 => string 'things' (length=6) 

BTW,不要使用split,它已經過時了。