dongyuelian9602
2018-01-21 16:08
浏览 35
已采纳

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

I have a string which comprises of the words the user input in it so I don't know how many words will be there and what will be the index of each word so that I can find substring out of this. Can anyone tell me how to echo it without using or converting it into array and add next line whenever there is space in string. I am newbie to php. I checked for split method, explode method, all inbuilt methods are converting it into array which i dont need.

$var= "This is a sample code."

I want output like this:

This
is 
a
sample 
code

I tried this but it didnt work for me.

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

I would appreciate your help. Thank you.

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • dongya9904 2018-01-21 16:26
    已采纳

    Without other builtin functions and just using for loop , This will give the expected output

     for($i=0; $i<(int)$strlen;$i++ ){
              if($var[$i]==" "){
              echo "<br>";
            }else if($var[$i] !='.'){
              echo $var[$i];
            }
      }
    
    已采纳该答案
    打赏 评论
  • douan4106 2018-01-21 16:21

    Use str_replace()

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

    but you also can perform regular expression, that can give you maybe a better answer, it will be able to check only words, ignoring multiple spaces or other space characters.

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

相关推荐 更多相似问题