Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Zmiana ciągu znaków na inny
mcichocki89
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 27.01.2012

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


Witam,
Mam takie małe zadanie i nie potrafię sobie z nim poradzić. Mam ciąg znaków: 0fc321c54bc7cec96acbacd7ecf0d18dd3c8d544d7 i muszę przykładowo znaki c3, c5, c9, cb, cf, d5 zamienić na litery, z tym jednak zastrzeżeniem, że po przesłaniu ciągu znaków przez formularz i przetworzeniu przez skrypt widoczne mogą zostać tylko i wyłącznie przetworzone znaki zamienione na pojedyncze litery - cała reszta ma zostać pominięta. Czy ktoś mi podpowie jakiej funkcji mam do tego użyć?
Pozdrawiam,
Michał
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Sephirus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

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


Witam,

przede wszystkim utwórz sobie tablicę z literami:

  1. $litery = array(
  2. 'c3' => 'a',
  3. 'c5' => 'b',
  4. 'c9' => 'c',
  5. 'cb' => 'd',
  6. // itd...
  7. );


Teraz należy podzielić tekst na cząstki 2 znakowe:

  1.  
  2. $tekst = '0fc321c54bc7cec96acbacd7ecf0d18dd3c8d544d7';
  3.  
  4. $tekst = preg_split('/[0-9a-z]{2}/',$tekst);
  5.  


Następnie wyświetlać litery jeśli się pojawią:

  1. $tekstWyjsciowy = '';
  2.  
  3. foreach($tekst AS $czastka)
  4. {
  5. if(isset($litery[$czastka]))
  6. {
  7. $tekstWyjsciowy.= $litery[$czastka];
  8. }
  9. }
  10.  
  11. echo $tekstWyjsciowy;


Czyli cały skrypt:

  1. $tekst = '0fc321c54bc7cec96acbacd7ecf0d18dd3c8d544d7';
  2. $tekst = preg_split('/[0-9a-z]{2}/',$tekst);
  3.  
  4. $litery = array(
  5. 'c3' => 'a',
  6. 'c5' => 'b',
  7. 'c9' => 'c',
  8. 'cb' => 'd',
  9. // itd...
  10. );
  11.  
  12. $tekstWyjsciowy = '';
  13.  
  14. foreach($tekst AS $czastka)
  15. {
  16. if(isset($litery[$czastka]))
  17. {
  18. $tekstWyjsciowy.= $litery[$czastka];
  19. }
  20. }
  21.  
  22. echo $tekstWyjsciowy;


O ile dobrze Cię zrozumiałem (IMG:style_emoticons/default/wink.gif)

Ten post edytował Sephirus 27.01.2012, 08:47:04
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: 6.10.2025 - 17:05