PHP замена первой и последней буквы в слове

#php #replace #word #letter

#php #заменить #word #буква

Вопрос:

Я искал ответ на эту тему, но не смог найти ответа. Я попытался заменить первую букву на последнюю букву в слове. Вот мой код на данный момент. Существует текстовая область, в которую вы не можете вставить текст, и слова будут видны друг под другом. Но я не смог найти способ сделать букву-изменить 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>";
        }
  

Комментарии:

1. требуется некоторое входное значение и на основе этого ожидаемый результат.

2. вы можете сделать это следующим образом:- eval.in/655381

3. Вы почти, но я думаю, что я пытаюсь заменить первую букву на последнюю букву в слове .

4. Как это работает не так, как ожидалось? Что вы получаете, что не так?

5. может быть, вам нужно очистить его, чтобы вы хотели изменить все слова с первой буквы на последнюю из текстовой области?

Ответ №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>";
}
  

Он просто создает новую строку, объединяющую: (последний символ) (от 2 до n-1 символа) (первый символ)

Ответ №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>