Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Rozkodowanie mocno zakodowanego (?) kodu
Forum PHP.pl > Forum > Przedszkole
Watt
Witam,

Jedynym sposobem, żeby mój skrypt zadział jest zakodowanie go, wysłanie do formularza google i odebrania. On wypluwa mi coś takiego:
http://wklejto.pl/62701

Da sie to jakoś rozkodować, żeby wygldało (normalne 'wsteczne' rozkodowanie nie działa, bo to jest przepuszczone jeszcze przez google).

Pozdrawiam
kipero
html_entity_decode
O to chodzi?
Watt
$wynik - pokazywał to co jest wyżej

html_entity_decode($wynik);
daje coś takiego:
http://wklejto.pl/62703

html_entity_decode(html_entity_decode($wynik));
daje coś takiego:
http://wklejto.pl/62704

Problem jest w tym, że dalj kod jest 'uszkodzony'
Szeszek1992
Dorzuć jeszcze stripslashes()
  1. $file=stripslashes(htmlspecialchars_decode(htmlspecialchars_decode($file)));

można też dać htmlspecialchars_decode()
Watt

daje:
http://wklejto.pl/62714

Niestety dalej nie działa.


  1. $wynik = str_replace("<br>","\n", $wynik);

daje:
http://wklejto.pl/62715

  1. $wynik = stripslashes(html_entity_decodehtml_entity_decode(html_entity_decode($wynik))));
  2. $wynik = str_replace("<br>","\n", $wynik);

daje:
http://wklejto.pl/62716

Już lepiej, ale dalej jak jest w przeglądarce to nie działa.
Szeszek1992
Połowa kodu jest zakomentowana, może to dlatego...
Usuń spację z <!Doctype>, pomiędzy <! i Doctype>

  1. <!-- start: index ->

zamień na

  1. <!-- start: index -->

(str_replace() na przykład)
Watt
Pełny kod - może tak bedzie łatwiej
  1. $link = "http://translate.google.com/";
  2. $polaczenie = @curl_init();
  3. @curl_setopt($polaczenie, CURLOPT_URL, $link);
  4. $contents = str_replace('"','\"', $contents);
  5. @curl_setopt($polaczenie, CURLOPT_POSTFIELDS, 'text='.urlencode(htmlspecialchars($contents)).'&sl=pl&tl=en'); //dane do wyslania
  6. @curl_setopt($polaczenie, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)");
  7. @curl_setopt($polaczenie, CURLOPT_FOLLOWLOCATION, 1);
  8. @curl_setopt($polaczenie, CURLOPT_RETURNTRANSFER, 1);
  9. $result = @curl_exec ($polaczenie);
  10. preg_match_all('#<input type=hidden name=gtrans value="(.*)">#',$result,$matches);
  11.  
  12.  
  13. $wynik =$matches[1][0];
  14. $wynik = str_replace("<br>","\n", $wynik);
  15. $wynik = str_replace(" = ","=", $wynik);
  16. $wynik = str_replace(' " ','" ', $wynik);
  17. $wynik = str_replace(' / ','/', $wynik);
  18. $wynik = str_replace('</ ','</', $wynik);
  19. $wynik = str_replace(' "/>','" />', $wynik);
  20. $wynik = str_replace(' ->',' -->', $wynik);
  21.  
  22. echo $wynik;


To wypluło:

http://wklejto.pl/62717

Kod strasznie zawalony.
Szeszek1992
U mnie prawie wszystko wyświetla się dobrze. W kodzie usunąłem tylko spację z Doctype
  1. $wynik = str_replace("<! DOCTYPE","<!DOCTYPE", $wynik);

oraz dorzuciłem myślnik
  1. $wynik = str_replace("<!-- start: index ->","<!-- start: index -->", $wynik);


Napisałem "prawie", ponieważ nie mam styli, grafik itp.
Watt
Cytat
U mnie prawie wszystko wyświetla się dobrze. W kodzie usunąłem tylko spację z Doctype

Właśnie, tu jest problem bo niestety nie moge doprowadzić tego do porzątku, aby to było zdatne - zobacz całą stronę znejdź na dół proszę, tam jest masakra.

Może ktoś ma pomysł na to, żeby to działało - jak widzicie próbowałem 'chałupniczo' usuwac błędy ale to działa bardzo średnio - może wysłać inaczej zakodowana treść przez curla, albo jeszcze jakoś to wyprostować?

Cytat(Szeszek1992 @ 4.04.2010, 19:36:41 ) *
Napisałem "prawie", ponieważ nie mam styli, grafik itp.


Nie nie nie, tu nawet nie o style chodzi - zobacz niżej elementy HTMLowskie źle sie pokazuja.
Szeszek1992
Twój kod, po dodaniu tego, co mówiłem, zaczyna wyświetlać "prawie" normalnie.
Watt
A co powinienem zrobić, żeby wyświetlał sie w pełni normlanie - siedzę nad tym już jakiś czas i nie moge nic wymyślić.
Szeszek1992
  1. $file = str_replace("<br>","\n", $file);
  2. $file = str_replace("<! DOCTYPE","<!DOCTYPE", $file);
  3.  
  4. $file = str_replace("<!- ","<!-- ", $file);
  5. $file = str_replace(" ->"," --> ", $file);
  6. $file = str_replace("</ ","</", $file);
  7. $file = str_replace("<! -","<!-", $file);
  8. $file = str_replace("< / ","</", $file);

Daj taką kombinację




http://pcblog.pl/dodaj-widget-tlumacza-goo...wlasnej-strony/
Watt
Niestety dalej kod uszkodzony:

http://wklejto.pl/62733
webdice
Nie widzę powodu dla którego miałbyś odkodować zawartość tej strony. Napisz do autora, jeśli wyrazi zgodę z pewnością prześle Ci kod. Zamykam.
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.