2014-09-24 52 views
-2

我需要从字符串中提取值,我们将所有信息以“|”分隔或“||”字符。这是两个例子:使用PHP提取字符串的一些值

word1 | "word2[word3]" || number1 | word4 
word5 | "word6[word7]" || number2 | word8 

这是串的语法和我需要提取2个内括号(WORD3和word7)和值后的值|| (number1和number2)。怎么做?

+0

你开始正则表达式。 – Ohgodwhy 2014-09-24 19:49:46

+0

你可以使用爆炸:http://php.net/manual/en/function.explode.php – 2014-09-24 19:50:09

+0

Combine爆炸和str_replace或preg_replace。使用replace将||,[和]转换为|然后在|上爆炸。 (我会使用preg_split) – kainaw 2014-09-24 19:51:35

回答

0

正如我在评论中提及,我会用使preg_split,如:

$words = preg_split('/[\s\|"\[\]]+/', $string); 

对于

$string = 'word1 | "word2[word3]" || number1 | word4 
      word5 | "word6[word7]" || number2 | word8'; 

的$话阵列将是:

Array 
(
    [0] => word1 
    [1] => word2 
    [2] => word3 
    [3] => number1 
    [4] => word4 
    [5] => word5 
    [6] => word6 
    [7] => word7 
    [8] => number2 
    [9] => word8 
)