Sko, þetta verður að vera /“ sem þýðir að hún á að sleppa því að parsa gæsa löppina. Þetta er gert til þess að þú fáir ekki parse error.
Spáðu í því, þú ert að gera sql query hún lýtur svona út:
$sql = ”instert into frettir (titill, efni) values ($titill, $efni)“;
Ef að $efni er = Þetta er ”geggjað“! þá lýtur $sql svona út:
$sql = ”instert into frettir (titill, efni) values (“Massa titill”, “Þetta er ”geggjað“!”)“;
Well, hún á ekki eftir að fíla að þú sért búinn að loka strengnum eftir ”Þetta er “ og reynir að parsa ”geggjað" og allt fer í steik. En ekki örvænta, það er leið út úr þessu, tvær jafnvel.
htmlspeacialchars() tekur með sér tvo parametra, sá seinni er ekki nauðsynlegur. Annars vegar strengin sem á að þýða og hins vegar hvað á að gera við gæsalappirnar.
Defaultið er ENT_COMPAT sem þýðir tvöfaldar gæsalappir en sleppir þeim einföldu.
ENT_QUOTES þýðir bæði einfaldar og tvöfaldar gæsalappir.
ENT_NOQUOTES þýðir hvorugar.
htmlspecialchars() breytir:
& (ampersand) verður ‘&’
" (tvöföld gæsalöpp verður ‘"’
' (einföld gæsalöpp) verður ‘'’
< (minna en) verður ‘&lt;’
> (stærra en) verður ‘&gt;’
htmlentities() tekur með sér sömu parametra en þýður alla speacial chars eftir ISO-8859-1.
En það er einn galli… Ef þú villt virkilega skrifa html í fréttina og ekki láta tögin sjálf birtast…
Þá geturðu bara gert:
$efni = ereg_replace ("\\"", "&quot; ", $efni)
Hmm… hugi brenar tvö backslash, það á bara að vera eitt. :)
Passaðu bara að gera þetta áður en þú runar sql queryið.
Vonandi hjálpar þetta :)
<br><br>*——————-*
I'm the lizard queen,
I can do anything!
*——————-*