![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 333 Pomógł: 0 Dołączył: 4.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
witam!
mam taki problem... musze pod php napisać skrypcik o nazwqie "szyfrowanie AtBash". Czyli w danym tekście (np 4-5 zdań) zamienia w każdym wyrazie literke na przeciwległą w alfabecie... czyli zamiast A wstawi Z, zamiast B wstawi Y itd... wie ktos jak to zrobić ? najlepiej by było gdyby skrypt rozróżniał też małe i duże liter (czyli za małą wstawi małą a za dużą dużą) z góry dziękuje za pomoc... |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Co Ci będzie potrzebne:
1. tablica:
lub odpowiednie obliczenia na kodach znaków. 2. pętla for śmigająca tekst znak po znaku 3. Odwołanie do tablicy poprzez $array[$znak]. Powodzenia, nie jest to trudne zadanie. Ten post edytował phpion 26.01.2008, 21:25:33 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 333 Pomógł: 0 Dołączył: 4.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
ja myślałem, żeby to zrobić jakoś na liczbach... alfabet ma 26 liter... ale w sumie Twoje roziwązanie też może być...
może nie jest to trudne, ale ja nie moge sobie z tym poradzić :/ Nie wiem jak lecieć tekst znak po znaku :/ i jak potem zamienić znaki :/ zrobiłem takie coś... co dalej ?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 749 Pomógł: 37 Dołączył: 3.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
pisane z palca, ale powinno działać... Pozdro Ten post edytował 1010 26.01.2008, 21:51:20 -------------------- |
|
|
![]()
Post
#5
|
|
![]() Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 333 Pomógł: 0 Dołączył: 4.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
oba działają - wielkie dzięki
![]() no dobra, a jak w tym drugim przykładzie zrobić żeby działałą też na duże i małe litery ? przepuścić string najpierw przez jedno str_replace a potem przez drugie ? (z tablicami z dużymi literami) ? Ten post edytował bronx 26.01.2008, 22:01:29 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 749 Pomógł: 37 Dołączył: 3.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Rozbuduj dwie tablice
-------------------- |
|
|
![]()
Post
#8
|
|
![]() Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 333 Pomógł: 0 Dołączył: 4.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
niestety, ale ten kod jednak nie działa
ponieważ pokazuje takie ciągi: Kod a b c d e f g h i j k l m n o p q r s t u w x y z a b c d e f g h i j k l m m l k j i h g f d c b a na górze oryginalny a na górze po zamianie i jak widać coś nie trybi :| |
|
|
![]()
Post
#10
|
|
![]() Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Spróbuj rozbić sobie to na 4 tablice (2 z małymi literami oraz 2 z dużymi literami) i zastosuj 2 razy funkcje str_replace" title="Zobacz w manualu PHP" target="_manual. Powinno zadziałać.
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 333 Pomógł: 0 Dołączył: 4.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
niestety nie w tym jest problem... nawet gdy mam tylko z małymi literami efekt jest taki sam... dopiero po połowie zamienia...
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
Przy pomocy str_replace" title="Zobacz w manualu PHP" target="_manual ciężko to będzie zrobić, bo funkcja ta idzie sekwencyjnie po elementach tablicy i najpierw zamieni wszystkie litery "a" na "z", a pod koniec wszystkie litery "z" (łącznie z już zamienionymi literami "a") zamieni na a
Trzeba będzie przejechać pętlą po tekście, sprawdzać kod ASCII każdego znaku i jeśli znak ten będzie literą z pierwszej połowy alfabetu, to dodać do kodu ASCII 13 i zamienić z powrotem na literę (analogicznie jeśli litera będzie z drugiej połowy alfabetu to odejmujemy 13) http://asciitable.com/ ord" title="Zobacz w manualu PHP" target="_manual chr" title="Zobacz w manualu PHP" target="_manual PS. A teraz spoiler: str_rot13" title="Zobacz w manualu PHP" target="_manual ![]() -------------------- "Sumienie mam czyste, bo nieużywane."
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 08:30 |