Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmiana wielkości liter w ciągu
Forum PHP.pl > Forum > PHP
Panicz74
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].
viking
Nie używaj ereg: Warning

This function was DEPRECATED in PHP 5.3.0, and REMOVED in PHP 7.0.0.

preg_match w zamian
Pyton_000
Znalazłem coś takiego:

  1. $ciag = 'Napis';
  2. $ciag = strtolower($ciag) ^ strtoupper($ciag) ^ $ciag;
  3. echo $ciag;
JakubBab
A jesli juz preg_matchem to:

(pytona znalezisko jest wydajniejsze (duzo)!
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.  
redeemer
  1. $ciag = 'łóżko';
:-)
JakubBab
... jaki wynik taka mozliwosc :]
Pyton_000
@redeemer tak, na ogonkach się wysypie smile.gif A niestety użycie mb_ nie pomoże bo krzaki wyjdą.
KsaR
  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 biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.