Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zamiana " oraz ' na kod &quote
Forum PHP.pl > Forum > Przedszkole
art
Witam!

mam taki drobny problemik nie wiem jak zamienic znak cudzyslowia oraz apostrof na kod &quote w tekscie dodawanym do bazy danych przez formularz... wiem ze sluzy do tego polecenie np:

  1. <?php
  2.  
  3. str_replace("[co zamienic]", "[na co zamienic]", $text);
  4.  
  5. ?>


no ale wlasnie jak wpisac ten cudzyslów bądz apostrof w to miejsce [co zamienic] ?bo jesli wpisze poprostu " lub ' to oczywiscie nie dziala ...

  1. <?php
  2.  
  3. str_replace(" " ", "&quote", $text); // NIE DZIALA
  4. str_replace(" ' ", "&quote", $text); // NIE DZIALA
  5. str_replace(' " ', "&quote", $text); // NIE DZIALA
  6.  
  7. ?>


Wiec jak to powinno być?
Apo
masz tu przykład:
  1. <?
  2. $format = str_replace(""", "co tam chcesz", $format);
  3. ?>

Zapomniałeś poprzedzić znak " tym \
art
Kurcze dawalem tez \ przed cudzyslowiem i rowniez nie dzialalo sad.gif ... moze jakies inne pomysly?
mike
A po co koniecznie chesz to zrobić to w ten sposób :?:
Przy zapisie do bazy daj addslashes() a po odczycie stripslashes().

Nie ma sensu zamieniać tego na encje.
s_w_ir
  1. <?php
  2. $text=""'";
  3. $text=str_replace(""", "&quot;", $text);
  4. $text=str_replace("'", "&quot;", $text);
  5. echo $text;
  6. ?>
Skopiuj to dokładnie i sprawdź w źródle strony że działa to. Trzeba tylko użyć wyrażenia
  1. <?php
  2.  
  3. $zmienna = str_replace("cos", "cos2", $zmienna);
  4. ?>

I nie &quote tylko &quot;exclamation.gif

edit***
@mike_mech - racja, trzeba trzymać sie standardów, mój błąd. Juz poprawiłem kod.
mike
Panowie, jeżeli juz mówicie o encjach, choć polecam rozwiązanie wspomniane przeze mnie wyżej, to piszcie te encje poprawnie.

Na końcu powinien być średnik:
&#34; (cudzysłów)
&#64; (małpa @)
i.t.d.
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.