【问题标题】:PHP replacing the first and last letter in a wordPHP替换单词中的第一个和最后一个字母
【发布时间】:2017-02-13 13:40:12
【问题描述】:

我已搜索此主题的答案,但找不到答案。我试图用单词中的最后一个字母替换第一个字母。 这是我现在的代码。有一个文本区域,您不能在其中输入文本,并且可以在彼此下方看到单词。但是我没找到办法换个字母的QQ

        $array = explode(" ", $_POST["text"]);
        if ($_POST["submit"])
        {

            echo "<pre>";
            foreach ($array as $lijst)
            {
                if (strlen($lijst)>4)
                {

                    $lijst1= substr_replace($lijst, $lijst[0],-1);
                    echo $lijst1;
                    echo "<br/>";
                }else{
                    echo $lijst;
                    echo "<br/>";
                }
            }
            echo "</pre>";
        }

【问题讨论】:

  • 需要一些输入值并基于该预期结果。
  • 你可以这样做:- eval.in/655381
  • 你差不多了,但我认为 我尝试用 word 中的最后一个字母替换第一个字母。
  • 这怎么没有按预期工作?你怎么看错了?
  • daan 你需要清除它,你想将所有单词的第一个字母更改为最后一个来自文本区域?

标签: php replace word letter


【解决方案1】:

就这么简单

$array = explode(" ", $_POST["text"]);
if ($_POST["submit"]) {
    echo "<pre>";
    foreach ($array as $lijst) {
        $lijst1 = $lijst;
        if (strlen($lijst) > 4) {
            $lijst1= $lijst[strlen($lijst)-1].substr($lijst,1,-1).$lijst[0];
        }
        /* Without redundant printing */
        echo $lijst1;
        echo "<br/>";
    }
    echo "</pre>";
}

它只是创建一个新的字符串连接:(last char)+(from 2 to n-1 char)+(first char)

【讨论】:

    【解决方案2】:

    试试这个。

            foreach ($array as $lijst)
            {
                if (strlen($lijst)>4)
                {
                    $first = $lijst[0];
                    $last = $lijst[strlen($lijst)-1];
    
                    $lijst[0] = $last;
                    $lijst[strlen($lijst)-1] = $first;
    
                    echo $lijst;
                    echo "<br/>";
                }else{
                    echo $lijst;
                    echo "<br/>";
                }
            }
    

    它将更改字符串长度大于 4 的单词中的第一个和最后一个

    【讨论】:

      【解决方案3】:

      创建一个名为swaprev() 的函数,将第一个字符更改为最后一个...

      function swaprev($str){
          $str = str_split($str);
          $lc = $str[count($str)-1];
          $fc = $str[0];             
          $str[0] = $lc; $str[count($str)-1] = $fc;
          return implode('',$str);
      }
      
      $array = explode(" ", "textarea where you cant put text");
      $array_out = [];
      foreach($array as $lijst){
          if (strlen($lijst) > 4)
              $array_out[] = swaprev($lijst);
          else
              $array_out[] = $lijst;
      }
      
      echo implode(" ", $array_out);
      

      【讨论】:

        【解决方案4】:
            <html>
            <body>
                <form method="post">
                    <input type="text" name="text">
                    <input name="submit" type="hidden" value="true">
                    <button>Send</button>
                </form>
        <?php
                $array = explode(" ", $_POST["text"]);
                if ($_POST["submit"])// maybe isset()?
                {
                    echo "<pre>";
                    foreach ($array as $lijst)
                    {
                        if (strlen($lijst)>4)
                        {
                            $char1 = $lijst[0];
                            $char2 = $lijst[strlen($lijst) - 1];
                            $lijst1= $char2. substr($lijst,1,-1) . $char1;
                            echo $lijst1;
                            echo "<br/>";
                        }else{
                            echo $lijst;
                            echo "<br/>";
                        }
                    }
                    echo "</pre>";
                }
        ?>
            </body>
        </html>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-12-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-03-07
          • 2015-12-29
          • 1970-01-01
          相关资源
          最近更新 更多