![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 17.04.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam taki oto problemik. Zarządzam sobie stroną z poziomu przeglądarki. Wiąże się to z paroma problemami, których dodaje specyfikacja XHTML. Jak sobie poradzić z kłopotem cudzysłowów i dodawania do bazy to wiadomo...
Problem jest wtedy, gdy ktoś zapomni zamiast & wpisać & - walidator strasznie krzyczy. I niby nie byłoby problemu, bo można skorzystać z htmlspecialchars(ale zamieni też znaczniki html) lub napisac to z str_replace. Niestety, niektórzy moderatorzy mogą stosować prawidłowy zapis: & i wtedy obydwie funkcje zamienią to na & - a to juz kompletna sieczka... Jest na to jakiś prosty sposób, czy trzeba się z tym bawić(czyli zamiana np. str_replace & na & i dodatkowo & na & ) ![]() |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 335 Pomógł: 0 Dołączył: 15.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
-Guest- |
![]()
Post
#3
|
Goście ![]() |
Ale ja raczej nie mówię o URLu, tylko o normalnym uzupełnianiu zawartości strony(treśc trzymam w bazie)
A co do szukania, to wyobraź sobie, że szukałem.... |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 20.11.2004 Skąd: Polska :P Ostrzeżenie: (0%) ![]() ![]() |
W bazie bym nic nie zmieniał, tylko w trakcie wypisywania na stronę użyłbym takiego algorytmu:
Sprawdzić, czy dany tekst zawiera &, jeżeli tak, to nic nie rób, jeżeli nie to użyj str_replace. -------------------- Goldmann Marek
workspace: win2k3 | apache2.0.52 | php 5.0.2 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 17.04.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Bazy nie zamierzam ruszać, bo później ciężko by było z edycją...
Ten pomysł ma jednak swoją wadę... Gdy w tekście będzie kilka & i np. jedno & to już kicha Chyba zamiana wszystkiego co ma & na & i później & na & jest lepsze.... A tak ps, to zawiodłem się na htmlspecialchars(), żeby taką kichę robić... ;p |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 00:23 |