Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: specialchars
Forum PHP.pl > Forum > Przedszkole
Misiek
Witam

Mam taki kod:

  1. <?php
  2.  
  3. if (isset($_POST['text']) && $_POST['text'] != &#092;"\") {
  4.  $znaki = htmlspecialchars($_POST['text']);
  5.  print $znaki;
  6.  print '<br><br><a href=\"index5.php\">Powrót</a>';
  7. } else {
  8.  print '<form method=\"post\">';
  9.  print '<input name=\"text\"><input type=\"submit\" value=\"Wyślij\"></form>';
  10. }
  11.  
  12. ?>


Napisałem go, aby po wpisaniu do pola formularza znaku np. "<" zostało na ekranie wyświetlone "&lt". A wyświetla "<".
Pewnie rozwiązanie problemu jest banalne, ale...
SET
nie ma prostych rozwiązań sad.gif , robisz coś takiego
  1. &amp;lt;
Misiek
No tak Ale co ja mam z tym zrobić? Wpisałem to do formularza i wyskoczyło to samo. A chcę po wpisaniu "<" otrzymać "&lt;".
rogrog
no to w czym problem questionmark.gif wywołaj funkcję podwójnie:

  1. <?php
  2.  $znaki = htmlspecialchars(htmlspecialchars($_POST['text']));
  3. ?>
SET
sorry, ale ja myślałem o czymś takim
  1. <?php
  2. $text = str_replace ( '<', '&amp;lt;', $text );
  3. ?>
czachor
htmlentities" title="Zobacz w manualu PHP" target="_manual ?
przykład z manuala:
  1. <?php
  2. $str = &#092;"A 'quote' is <b>bold</b>\";
  3.  
  4. // Outputs: A 'quote' is &lt;b&gt;bold&lt;/b&gt;
  5.  
  6. // Outputs: A 'quote' is &lt;b&gt;bold&lt;/b&gt;
  7. echo htmlentities($str, ENT_QUOTES);
  8. ?>
Misiek
Patrzyłem do manuala i właśnie przykład który podałeś czachor nie działa.
Działa natomiast to co proponuje rogrog. Ale dlaczego mam wywoływać funkcję dwa razy? Dlaczego nie działa kiedy wywołuję ją raz?

PS.: Dzięki rogrog
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.