Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> specialchars
Misiek
post 27.10.2004, 17:04:19
Post #1





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 18.09.2002
Skąd: Bochnia

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


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...
Go to the top of the page
+Quote Post
SET
post 27.10.2004, 18:02:17
Post #2





Grupa: Zarejestrowani
Postów: 75
Pomógł: 0
Dołączył: 21.07.2004

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


nie ma prostych rozwiązań sad.gif , robisz coś takiego
  1. &amp;lt;
Go to the top of the page
+Quote Post
Misiek
post 27.10.2004, 18:47:44
Post #3





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 18.09.2002
Skąd: Bochnia

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


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;".
Go to the top of the page
+Quote Post
rogrog
post 27.10.2004, 19:44:18
Post #4





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

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


no to w czym problem questionmark.gif wywołaj funkcję podwójnie:

  1. <?php
  2.  $znaki = htmlspecialchars(htmlspecialchars($_POST['text']));
  3. ?>


Ten post edytował rogrog 27.10.2004, 19:44:30


--------------------
Go to the top of the page
+Quote Post
SET
post 27.10.2004, 19:56:17
Post #5





Grupa: Zarejestrowani
Postów: 75
Pomógł: 0
Dołączył: 21.07.2004

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


sorry, ale ja myślałem o czymś takim
  1. <?php
  2. $text = str_replace ( '<', '&amp;lt;', $text );
  3. ?>
Go to the top of the page
+Quote Post
czachor
post 27.10.2004, 20:17:54
Post #6





Grupa: Zarejestrowani
Postów: 897
Pomógł: 40
Dołączył: 16.12.2003
Skąd: Warszawa

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


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. ?>


--------------------
how many SEO experts does it take to change a light bulb,lightbulb,light,bulb,lamp,lighting,switch,sex,xxx
5-Reasons-why-you-should-NEVER-fix-a-computer-for-free
Go to the top of the page
+Quote Post
Misiek
post 29.10.2004, 10:30:12
Post #7





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 18.09.2002
Skąd: Bochnia

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


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
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 01:12