Avatar billede wampiro-uha Nybegynder
01. januar 2004 - 15:32 Der er 14 kommentarer og
1 løsning

Erstat tegn med kode.

Ligesom " kan skrives som "

Hvordan skriver jeg så '
Avatar billede phpwiz Nybegynder
01. januar 2004 - 15:36 #1
‘
’
”

der har du tre muligheder
Avatar billede ahv Nybegynder
01. januar 2004 - 15:36 #2
Den findes der ingen sådan værdi for, hvis det er fordi den skaber ballede kan du lave en addslashes()
Avatar billede fangel Nybegynder
01. januar 2004 - 15:44 #3
ramlev -> ikke at forglemme ′

Morten
Avatar billede wampiro-uha Nybegynder
01. januar 2004 - 15:50 #4
det jeg har er en funktion som erstatter følgende tegn:

&
<
>
"
'

hvad skal jeg erstatte de tegn med og er der andre tegn jeg skal tage højde for, så der ikke bliver ballade osv... :-D (tænkte på om man skulle benytte ascii-tabellen)...
Avatar billede ahv Nybegynder
01. januar 2004 - 15:51 #5
Det eneste du behøver for at undgå ballede er følgende:

$str = addslashes($str);
$str = ereg_replace("<([^>]+)>", "", $str);
Avatar billede wampiro-uha Nybegynder
01. januar 2004 - 15:52 #6
Så skulle der ikke kunne opstå problemer ligemeget hvad brugerne indtaster til mine php-sider med html?
Avatar billede wampiro-uha Nybegynder
01. januar 2004 - 15:52 #7
faktisk ser hele min funktion således ud:

$string = str_replace("&", "&amp;", $string);
$string = str_replace("<", "&lt;", $string);
$string = str_replace(">", "&gt;", $string);
$string = str_replace("\"", "&quot;", $string);
$string = str_replace("'", "&quot;", $string);
$string = str_replace("\r", "", $string);
$string = str_replace("\t", "&nbsp;&nbsp;&nbsp; ", $string);
$string = preg_replace("/\n(\n)+/", "<br><br>", $string);
$string = str_replace("\n", "<br>", $string);
Avatar billede ahv Nybegynder
01. januar 2004 - 15:52 #8
Korrekt.
Avatar billede fangel Nybegynder
01. januar 2004 - 15:52 #9
bare benyt htmlentities... http://php.net/htmlentities... og evt benytte  "ENT_QUOTES" som anden-parameter...

ENT_QUOTES    Will convert both double and single quotes.

Morten
Avatar billede fangel Nybegynder
01. januar 2004 - 15:53 #10
og slf nl2br() til liniskiftene...

Morten
Avatar billede ahv Nybegynder
01. januar 2004 - 15:53 #11
Du kan simpelt have:

function strIn ($str) {
    $str = addslashes($str);
    $str = ereg_replace("<([^>]+)>", "", $str);
}
Avatar billede ahv Nybegynder
01. januar 2004 - 15:54 #12
Når du så vil have den ud af databasen ville jeg køre:

function strOut ($str) {
    $str = stripslashes($str);
    $str = htmlentities($str);
    $str = nl2br($str);
    return $str;
}
Avatar billede wampiro-uha Nybegynder
01. januar 2004 - 16:00 #13
jeg har så også lige denne funktion som gør at brugerne ikke kan lave en masse "dumme" linjeskift...
Avatar billede wampiro-uha Nybegynder
01. januar 2004 - 16:01 #14
$string = preg_replace("/\n(\n)+/", "<br><br>", $string);
Avatar billede wampiro-uha Nybegynder
01. januar 2004 - 16:03 #15
Er den funktion lige meget eller...?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester