由逗号和新行一起展开

Explode by comma and new line together

我有一个基本的文本区域。当用户输入一些文本时,我用逗号“,”分解单词。现在我也想用新行分隔单词。我该怎么做。

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

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
<?php
$output = str_replace(array("\n", "\r"), '', $input);
?>

\n是换行,你换成正常的space。这里绝对不需要复杂的正则表达式!:)

试试这个:

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

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

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

您可以按行拆分输入,然后对于每一行,按单词拆分该行。

<?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.' ';
        }
    }
}