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
KsaR
post
Post #2





Grupa: Zarejestrowani
Postów: 520
Pomógł: 102
Dołączył: 15.07.2014
Skąd: NULL

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


  1. <?php
  2. $str = 'aaAAąAŚĆżź';
  3. $newstr = '';
  4. preg_match_all('#.#u', $str, $match);
  5. foreach ($match[0] as $v)
  6. $newstr.= (($l=mb_strtolower($v, 'UTF-8')) === $v) ? mb_strtoupper($v, 'UTF-8') : $l;
  7. echo $str, '<br/>', $newstr;

+++ Wspiera ogonki (IMG:style_emoticons/default/biggrin.gif)

Ten post edytował KsaR 25.02.2016, 22:27:34
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: 10.10.2025 - 02:37