Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: php odkodowanie znakow
Forum PHP.pl > Forum > PHP
ponciusz
witam mam nastepujacy problem chcialbym napisac skrypt ktory rozszyfrowywal by podane słowo wedlug pewnego klucza np:
d=y
o=w
m=k
i tak caly alfabet bylby zaszyforwany czyli kiedy wpisze do formularza "ywk" wyswietli wynik "dom" dobrym rozwiazaniem bylo by wykorzystanie 2 plikow txt jeden z ciagiem znakow wedlug alfabetu drugi zakodowany klucz np:
alfabet.txt
Kod
abcdefghijk

alfabet-code.txt
Kod
mnbvcxzasdf

czy ma ktos jakies pomysły?
Seth
Najprosciej bylo by zrobic tak:

Jedna tablica z kodowaniem znakow:
  1. <?php
  2. $znaki = array (
  3.  'd' => 'y',
  4.  'o' => 'w',
  5.  'm' => 'k'
  6. );
  7. ?>


(klucze to znaki, ktore maja byc wstawione w miejsce, wartosci tablicy)


Oraz funkcja dekodujaca podany ciag znakow na podstawie tablicy:
  1. <?php
  2. echo dekoduj('ywk', $znaki);
  3.  
  4. function dekoduj($text, $kodowanie) {
  5.  $znaki = array_keys($kodowanie);
  6.  $odpowiedniki = array_values($kodowanie);
  7.  
  8.  return str_replace($odpowiedniki, $znaki, $text);
  9. }
  10. ?>


(pisze z palca, wiec moze cos nie dzialac)


Edit: zaktualizowalem nieco kod bo jedna linijak byla zbedna.
ponciusz
porbowalem zrobic takie cos ale nie dziala :/


  1. <html>
  2. <head>
  3. <title>szyfr</title>
  4. </head>
  5. <body>
  6. <form name="kodowanie" action="index.php">
  7. <p><input type="text" name="kod">wpisz ciag znaków</p>
  8. <p><input type="submit" name"wyslij">
  9. <p><input type="reset" name="kasuj">
  10. </form>
  11.  
  12.  
  13.  
  14. <?php
  15. $znaki = array (
  16.  'd' => 'y',
  17.  'o' => 'w',
  18.  'm' => 'k'
  19. );
  20.  
  21. ?>
  22.  
  23.  
  24. <?php
  25.  
  26. function dekoduj($text, $kodowanie) {
  27.  $zdekodowanyText = $kod;
  28.  
  29.  $znaki = array_keys($kodowanie);
  30.  $odpowiedniki = array_values($kodowanie);
  31.  
  32.  return str_replace($znaki, $odpowiedniki, $text);
  33. }
  34.  
  35.  
  36. ?>
nospor
bo oprocz tego, ze napiszesz funkcje, musisz ja jeszcze wywolac. spojrz jeszcze raz na kod Seth'a
ponciusz
dzieki wszystko pieknie dziala
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.