包含在不使用array-PHP的情况下连接的单词的回显字符串

时间:2018-01-21 16:08:56

标签: php string loops echo

我有一个字符串,其中包含用户输入的单词,因此我不知道会有多少单词,每个单词的索引是什么,这样我就可以找到子串。任何人都可以告诉我如何回应它而不使用或将其转换为数组并在字符串中有空格时添加下一行。我是php的新手。我检查了split方法,explode方法,所有内置方法都将它转换为我不需要的数组。

$var= "This is a sample code."

我想要这样的输出:

This
is 
a
sample 
code

我尝试了这个,但它对我没用。

$count= str_word_count($var);
        echo "$count";
        $strlen= strlen($var);
        for($i=0; $i<(int)$strlen;$i++ ){
          if($var contains " "){
          echo "\n";
        }else {
          echo $var;
        }
        }

感谢您的帮助。谢谢。

2 个答案:

答案 0 :(得分:2)

使用str_replace()

echo str_replace(" ", "\n", $var);

但您也可以执行正则表达式,它可以为您提供更好的答案,它只能检查单词,忽略多个空格或其他空格字符。

$var= "This is a         sample   code.";
if ( preg_match_all("/(\w+)/si", $var, $m ) ){
    echo implode("\n", $m[1]);
}

答案 1 :(得分:0)

没有其他内置函数,只使用for循环,这将提供预期输出

 for($i=0; $i<(int)$strlen;$i++ ){
          if($var[$i]==" "){
          echo "<br>";
        }else if($var[$i] !='.'){
          echo $var[$i];
        }
  }