用逗号和新行一起爆炸

时间:2015-04-13 13:28:57

标签: php arrays string explode

我有一个基本的textarea。当用户输入一些文本时,我会用逗号“,”来爆炸。现在我也想用新的一行分开单词。我怎么能这样做。

这是我用逗号破解单词的代码部分。

if(isset($_POST["btn"])){
    $words     = $_POST["inp_text"];
    $words_arr = explode(",",$words);

    foreach($words_arr as $word){
        echo $word."<br>";
    }
}

如何向此代码部分添加新行功能。我想,我应该在循环中生成一个来自$word的字符串而不是循环之后的字符串我应该再用新行来爆炸这个字符串。

有更好的主意吗?

为了更好地理解,我添加了一些例子。

输入:

apple, melon, a, b, c

输出:

apple melon a b c

输入(使用新行)

x,y,z,a
b
c

输出:

x y z a b c

4 个答案:

答案 0 :(得分:2)

试试这个:

$split_strings = preg_split('/[\ \n\,]+/', $your_string);

答案 1 :(得分:1)

您可以使用preg_split将字符串拆分为单词,无论是逗号还是新行。

$wordsArray = preg_split('/\W/', $yourString, 0, PREG_SPLIT_NO_EMPTY);

答案 2 :(得分:0)

<?php
$output = str_replace(array("\n", "\r"), '', $input);
?>

\n是换行符,用普通空格替换它。绝对不需要复杂的正则表达式!:)

答案 3 :(得分:-3)

您可以按行分割输入,然后对于每一行,按字分割。

<?php
if(isset($_POST["btn"])){
    $data = $_POST["inp_text"];
    $lines = explode("\n", $data);

    foreach($lines as $line)
    {
        $words = explode(' ', $lines);
        foreach($words as $word)
        {
            echo $word.' ';
        }
    }
}