2016-10-05 1 views
0

J'ai cherché la réponse pour ce sujet mais je n'ai pas trouvé de réponse. J'ai essayé de faire en sorte que la première lettre soit remplacée par la dernière lettre d'un mot. Voici mon code pour l'instant. Il y a une zone de texte dans laquelle vous ne pouvez pas mettre de texte et les mots seront affichés les uns sous les autres. Mais je ne pouvais pas trouver un moyen de faire un changement de lettre QQPHP remplaçant la première et la dernière lettre d'un mot

 $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

une valeur d'entrée et en fonction de ce résultat attendu est nécessaire. –

+0

vous pouvez le faire comme ceci: - https://eval.in/655381 –

+0

Vous êtes presque, mais je pense _I essayent de faire la première lettre de remplacer par la dernière lettre dans un ** mot **. –

Répondre

0

Essayez ceci.

 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/>"; 
      } 
     } 

Il va changer le premier et le dernier en un mot qui a une longueur de chaîne plus grande puis 4

+1

Cela a fonctionné, merci !!! : DD –

2

Il est aussi simple que

$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>"; 
} 

Il suffit de créer une nouvelle chaîne concaténer: (last char) + (de 2 à n-1 char) + (premier caractère)

0

Créer une fonction nommée swaprev() pour changer le premier caractère avec la dernière ...

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); 
0
<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>