Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [xhtml/php] cudzysłów a pole input
boddah85
post
Post #1





Grupa: Zarejestrowani
Postów: 72
Pomógł: 4
Dołączył: 31.07.2006

Ostrzeżenie: (0%)
-----


Ja z trochę głupawym pytaniem, ale ostatnio ta kwestia mnie nurtuje, a odpowiedzi nigdzie nie znalazłem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Jeśli dla przykładu wczytuje do pola input dane z mysqla
Kod
[...]
<input type="text" name="zmienna" value="<?php echo stripslashes($row['cos_tam']);?>" />
[...]

Problem pojawia się jednak, kiedy w :

Kod
$row['cos_tam']

jest jakiś string, w którym występuje cudzysłów.

Oczywiście mógłbym zastosować coś takiego :

[...]<input type="text" value='zmienna'[...]
ale gdy wpisałoby się string otoczony dwoma kreskami ('string'), to problem by wrócił (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Istnieje również opcja, która jest niezgodna z w3c, czyli

Kod
[...]
<input type="text" name="zmienna" value=<?php echo stripslashes($row['cos_tam']);?> />
[...]


Przyznam się szczerze, że jakoś nie zwracałem uwagi na tego typu przypadki i omijałem niejako problem, ale przy pisaniu pracy dyplomowej chciałbym wszystko dopiąć na ostatni guzik (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Z góry dzięki za odpowiedź.
Go to the top of the page
+Quote Post
WojtasSP320
post
Post #2





Grupa: Zarejestrowani
Postów: 87
Pomógł: 13
Dołączył: 13.08.2008
Skąd: Chełmno

Ostrzeżenie: (0%)
-----


To może zamień wszystkie cudzysłowy w stringu na odpowiednie encje za pomocą np wyrażeń regularnych.
Myślę, że to powinno działać (o ile dobrze zrozumiałem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ).
Go to the top of the page
+Quote Post
UNK
post
Post #3





Grupa: Zarejestrowani
Postów: 93
Pomógł: 5
Dołączył: 30.04.2006
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


  1. <?php echo stripslashes($row['cos_tam']);?>


z tego co wiem możesz zastąpić

  1. <?=stripslashes($row['cos_tam'])?>


Co do " " w zawartości zmiennej, jedyny pomysł do nie dodanie slasha :P który używasz przy pobraniu zawartości, może pomóc.
Inne ale mniej 'optymalne' to zmiana tymczasowo " " na nie używany znak ( ale na 100%, ew. zbitka znaków ) a potem przerobienie tego z powrotem na " " przy zapisie.
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Kod
<input type="text" name="zmienna" value="<?php echo htmlspecialchars($row['cos_tam']);?>" />
Go to the top of the page
+Quote Post
boddah85
post
Post #5





Grupa: Zarejestrowani
Postów: 72
Pomógł: 4
Dołączył: 31.07.2006

Ostrzeżenie: (0%)
-----


Serdecznie dzięki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 23:56