php中某些匹配的正则表达式

时间:2017-11-15 07:40:30

标签: php regex preg-match

我有以下正则表达式

[^|]+(|[^|]+){15}

以下行

|     1 |  2567 | Алма-атинська(І) вул.                     | 2     | 2      |5678     |Типовий лічил-|Санвузол          | 15.12.2016 | 10.11.2016 | 10.11.2020 | 23.10.2017 |            |    43.00 |bot       |

它的工作正常,我在' |'之间得到了所有文字,但是如何为这些匹配传递任何字符串?例如,修剪所有退格,或删除一些子环。

1 个答案:

答案 0 :(得分:0)

您可以explode(),然后trim()删除其他空格等。最后使用array_filter从数组中删除空白值:

$str = '|     1 |  2567 | Алма-атинська(І) вул.                     | 2     | 2      |5678     |Типовий лічил-|Санвузол          | 15.12.2016 | 10.11.2016 | 10.11.2020 | 23.10.2017 |            |    43.00 |bot       |';
$arr = array_filter(array_map(function($value){return trim($value);},explode('|', $str)));
print_r($arr);

输出:

Array ( [1] => 1 [2] => 2567 [3] => Алма-атинська(І) вул. [4] => 2 [5] => 2 [6] => 5678 [7] => Типовий лічил- [8] => Санвузол [9] => 15.12.2016 [10] => 10.11.2016 [11] => 10.11.2020 [12] => 23.10.2017 [14] => 43.00 [15] => bot )