Autor Zpráva
krteczek
Profil
dobrý den, pokouším se pomocí regulárních výrazů převést vložený kod na html entity, ale nedaří se mi nahradit entitou \, když použiji dvě \\ tak mi tovyhodí chybu, jak na tohle??

$p[$c]=ereg_replace('\<',' &lt;',$p[$c]);
$p[$c]=ereg_replace('\>','&gt; ',$p[$c]);
$p[$c]=ereg_replace('\\', "\", $p[$c]);//tady mi to hází chybu :-/
$p[$c]=ereg_replace("\'",''',$p[$c]);


a háže mi to tohle varování:
<b>Warning</b>: ereg_replace(): REG_EESCAPE: in <b>C:\www\cd\index1.php</b> on line <b>28</b><br />

díky za každou radu :-)
krteczek
Honza Široký
Profil
Ty entity bych nahradil takhle:
$p[$c] = htmlspecialchars ($p[$c]=);

A na ty zpětná lomítka bych zkusil funkce addslashes a stripslashes.
krteczek
Profil
jenže mi jde o napsání podobné funkce, která zde na webu řeší zobrazování html kodu. Jde mi o to že do db ukládám obsah stánky která může obsahovat php kod, a ten php kod se nesmí provést, ale jen zobrazit. a aby se zobrazil správně musím nahradit v určitých usecích kodu te stránky html a php entitami. tohle nevyřeší htmlspecialchars()
krteczek
Kajman
Profil *
Záleží na tom, jakými uvozovkami obaluješ text. Pokud těmi dvojitými, tak \ má speciální význam. Takže '\' je to samé jako "\\". A to tvé "\" hlásí chybu, protože ten string nemáš ukončený.

$p[$c]=ereg_replace('\\', '\', $p[$c]);
Toto téma je uzamčeno. Odpověď nelze zaslat.