Mam pewne problemy z funkcją PHP str_replace
podczas korzystania z tablic.str_replace z tablicą
mam komunikat:
$message = strtolower("L rzzo rwldd ty esp mtdsza'd szdepw ty esp opgtw'd dple");
I staram się używać str_replace
takiego:
$new_message = str_replace(
array('l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','a','b','c','d','e','f','g','h','i','j','k'),
array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'),
$message);
Wynik powinien być A good glass in the bishop's hostel in the devil's seat
, ale zamiast tego mam p voos vlpss xn twt qxswop's wosttl xn twt stvxl's stpt
.
Jednak, kiedy tylko spróbuj wymienić 2 litery zastępuje je dobrze:
$new_message = str_replace(array('l','p'), array('a','e'), $message);
litery l
i p
zostaną zastąpione przez a
i e
.
Dlaczego nie działa z pełną tablicą alfabetyczną, jeśli oba mają dokładnie taki sam rozmiar?
Uwaga, można dokonać tej pracy w dużych i małych liter po prostu wykonując '$ new_message = strtr ('lmnopqrstuvwxyzabcdefghijkLMNOPQRSTUVWXYZABCDEFGHIJK', 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', $ message);' –
@TheSmose dzięki, ja dodałem to również! – LautaroAngelico