Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: filtrowanie znaków specjlanych
Forum PHP.pl > Forum > PHP
Avatarus
Witam
Mam skrypt który pobiera dane z bazy i wrzuca jest do pliku XML który jest pry okazji RSSem
Problem w tym że do tego pliku wkradają się takie znaki jak:
  1. <?php
  2.  & #32;& #13;
  3. ?>

bez spacji pomiędzy & i #

Forum i strona są w ISO 8859-2

Jak skutecznie się tego pozbyć?
Będę wdzięczny
erix
No może byś pokazał, czym tego XML-a generujesz. Nie ma sensu zwalczać skutków, lepiej poszukać przyczyny.
Avatarus
wygląda to tak:
  1. <?php
  2. $sql=mysql_query('SELECT ID_BOARD,subject,ID_TOPIC,posterTime,body from `smf_messages` where ID_BOARD=1 group by ID_TOPIC order by posterTime DESC limit 20');
  3. //echo 'SELECT ID_BOARD,subject,ID_TOPIC,posterTime,body from `smf_messages` where ID_BOARD=107 group by ID_TOPIC order by posterTime DESC limit 20';
  4. while($wiersz=mysql_fetch_row($sql))
  5. {        
  6. // wyswietlanie newsa kazdego    
  7. $tresc_pliku=$tresc_pliku.'
  8. <item>
  9.       <title>'.htmlentities(strip_tags($wiersz[1])).'</title>
  10.       <link rel="alternate" href="http://xxx/news.php?id='.$wiersz[2].'"/>
  11.       <guid>http://xxx/news.php?id='.$wiersz[2].'</guid>
  12.       <pubDate>'.date("r",$wiersz[3]).'</pubDate>
  13.       <description>'.substr(htmlentities(strip_tags($wiersz[4],0,250))).'... Szczegóły na Portalu xxx'.'</description>
  14. </item>';
  15. }
  16. ?>


a wynik wygląda tak:

  1. <item>
  2.       <title>Przechadzka po Eltnen - Film</title>
  3.       <link rel="alternate" href="http://xxxl/news.php?id=1133"/>
  4.       <guid>http://xxx/news.php?id=1133</guid>
  5.       <pubDate>Thu, 21 May 2009 12:46:50 +0100</pubDate>
  6.       <description>& #13; & #32;& #13; & #32;& #13; & #32; & #32;& #13; & #32; & #32; & #32;& #13;& #13; & #32; & #32; & #32;& #13; & #32... Szczegóły na Portalu xxx</description>
  7. </item>
  8. <item>
maly_swd
sugestia:
dla bezpieczenstwa kazde pole textowe powinno byc opatrzone tagiem:
<![CDATA[ ]]>

czyli

  1. <description><![CDATA& #13; & #32;& #13; & #32;& #13; & #32; & #32;& #13; & #32; & #32; & #32;& #13;& #13; & #32; & #32; & #32;& #13; & #32... Szczegóły na Portalu xxx]]></description>
erix
  1. <?php
  2. substr(htmlentities(strip_tags($wiersz[4],0,250)))
  3. ?>

ohmy.gif

htmlspecialchars" title="Zobacz w manualu PHP" target="_manual wystarczy...

Cytat
dla bezpieczenstwa kazde pole textowe powinno byc opatrzone tagiem:

Po co? Jak nie ma w nim niestandardowych encji/tagów, to to nie ma sensu...
Avatarus
w końcu zaskoczyło, ale musiałem to zrobić tak
  1. <?php
  2. ?>

Sporo funkcji przez to przechodzi
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.