Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]cudzysłów w input - wszechobecne rozwiązanie... nie działa?
Forum PHP.pl > Forum > Przedszkole
-zielony-
wykonywany kod:
  1. die('<input value="'.htmlentities(' "cudzyslow" ').'" />');

  1. die('<input value="'.htmlspecialchars(' "cudzyslow" ').'" />');


źródło strony wywołanej z dowolnego z powyższych:

  1. <input value=" "cudzyslow" " />


Co więcej, taki sam efekt daje wywołanie:

  1. die('<input value=" &quot; cudzyslow &quot; " />');


Zupełnie nie wiem co jest powodem błędu. Metodą ślepej kury trafiłem jednak na kod, który w przeglądarce wyświetlany jest poprawnie:
  1. die('<input value=" '.htmlentities('&quot; cudzyslow &quot;').' " />');

  1. <input value=" &quot; cudzyslow &quot; " />


Czyli dopiero "podwójne" zakodowanie daje pożądany rezultat. Proszę o wyprowadzenie z mylnego przeświadczenia, że string wystarczy przez funkcję kodującą przepuścić tylko raz, lub o naprowadzenie gdzie szukać błędu. Wszystkie przypadki powtarzają się w najnowszych przeglądarkach Opera, Firefox i Chrome.

Pozdrawiam i czekam na odpowiedź smile.gif
wNogachSpisz
Jaki ma być rezultat?
-zielony-
Cytat(wNogachSpisz @ 29.04.2011, 17:37:40 ) *
Jaki ma być rezultat?


Rezultatem powinno być pole tekstowe z poniższym ciągiem jako jego wartość:

Kod
"cudzyslow"
modern-web
Przepisz tę wartość do zmiennej i wtedy zastosuj owe funkcje.
Potem wykorzystaj fragment:
  1. die('<input value='.$cudzyslow.' />');

Nie wiem po co ale w Twoim przykładzie jest pełno pustych ciągów (patrz ilość cudzysłowów).
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.