按分隔符分解


Explode by delimiters

我有一个小问题。

现在我有一个字符串,看起来像:

:value1, GARBAGE :value2, :value3

还有另一个类似的字符串:

:value4 MAYBE GARBAGE :value5 GARBAGE :value6

如何在同一函数中管理以":"开头的数组中的所有值

类似:

Array
(
    [0] => value1
    [1] => value2
    [2] => value3
    [3] => value4
)

您应该使用正则表达式。

这里有两个有效的例子:

preg_match_all('/:([^ ,]+)/', $input, $matches);

preg_match_all('/:([a-zA-Z0-9]+)/', $input, $matches);

$input替换为字符串,正确形式的结果将显示在$matches[1]中。

<pre>
<?php
  $str = ':value1, GARBAGE :value2, :value3 :value4 MAYBE GARBAGE :value5 GARBAGE :value6';
  preg_match_all ('/':([a-zA-Z0-9]+)['w,]*/' , $str, $matches);
  print_r($matches[1]);
?>
</pre>