Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zmiana wielkości liter w ciągu
Panicz74
post
Post #1





Grupa: Zarejestrowani
Postów: 39
Pomógł: 1
Dołączył: 28.08.2015

Ostrzeżenie: (0%)
-----


Witam,

Mam ciekawy problem: Chciałbym zmienić wielkość liter z wpisanego ciągu z dużych na małe i odwrotnie. Skrypt poniżej dobrze konwertuje pierwsza i ostatnia literę natomiast podwaja te w środku, np. "Forum" da "foOr Ru Um M". Czy ktoś wie jak sobie z tym poradzić?

  1. <?php
  2.  
  3. if (isset($_POST['ok']))
  4. {
  5. $ciag = $_POST['ciag'];
  6. $dlugosc = strlen($ciag);
  7. print_r($dlugosc); echo "</br>";
  8.  
  9. echo "Zmieniony ciąg to: </br>";
  10.  
  11. for($i=0; $i<=$dlugosc; $i++)
  12. {
  13. $znak = substr($ciag, $i, 1);
  14.  
  15. if (ereg('[A-Z]',$znak))
  16. $znak[$i] = strtolower($znak);
  17.  
  18. elseif (ereg('[a-z]',$znak))
  19. $znak[$i] = strtoupper($znak);
  20.  
  21. echo $znak;
  22. }
  23. }
  24.  
  25. ?>


Temat rozwiązany. Niepotrzebne były [$i].
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
JakubBab
post
Post #2





Grupa: Zarejestrowani
Postów: 96
Pomógł: 2
Dołączył: 13.07.2015

Ostrzeżenie: (0%)
-----


A jesli juz preg_matchem to:

(pytona znalezisko jest wydajniejsze (duzo)!
(IMG:style_emoticons/default/medieval.gif) )

  1.  
  2. $ciag = NapIs;
  3.  
  4. for($i=0; $i<=(strlen($ciag)-1); $i++){
  5.  
  6. if(preg_match('/[a-z]/',$ciag[$i],$matches1)){
  7. $downString.=strtoupper($matches1[0]);
  8. }elseif(preg_match('/[A-Z]/',$ciag[$i],$matches2)){
  9. $downString.=strtolower($matches2[0]);
  10. }
  11. }
  12.  
  13. echo $downString;
  14.  
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 05:49