如果在" - "之前和之后出现如何打破这些话。使用PHP?

时间:2017-03-09 15:19:04

标签: php

我想把" - "之前和之后的词分开。用php。我无法将带有空间的文本和" - "之后分开。

<?php
$value="this | is : my , text - test , done > hello-hi";
$keywords = preg_split("/[,|:&>]+/", $value);
print_r($keywords);
?>

回答: 数组([0] =&gt; this [1] =&gt;是[2] =&gt; my [3] =&gt; text - test [4] =&gt; done [5] =&gt; hello-hi)< / p>

我想要的答案如下: 数组([0] =&gt; this [1] =&gt;是[2] =&gt; my [3] =&gt; text [4] =&gt; test [5] =&gt; done [6] =&gt;你好嗨)

1 个答案:

答案 0 :(得分:1)

我认为你可以制作一个gruop并添加一个OR|)来分隔-之间的单词。

([,|:&>]+|\s+-\s+)将按,|:&>或a分隔一个或多个空格,后跟-,后跟一个或多个空格。这样可以避免像hello-hi这样的字符串/文本分成两个元素。

$value="this | is : my , text - test , done > hello-hi";
$keywords = preg_split("/([,|:&>]+|\s+-\s+)/", $value);
print_r($keywords);

输出:

Array ( [0] => this [1] => is [2] => my [3] => text [4] => test [5] => done  [6] => hello-hi )