|
| Databasefil til gæstebog med både æøå og h~ Fra : Jonni |
Dato : 01-08-02 15:26 |
|
Jeg arbejder med et script der gemmer i en textfil med fwrite(), fra en
formular med action="post".
Som det er nu behandler jeg input med;
$message= htmlspecialchars($message);
$message=str_replace("\n"," ", $message);
$message=str_replace("\r","<br />", $message);
if (get_magic_quotes_gpc()==1)
{$message = $message;}
else {$message = addslashes($message);}
Det giver umiddelbart et godt resultat, når det hentes med file().
Men bruger man addslashes() på samme input man har behandlet med
htmlspecialchars() ?
Og er der en funktion hvor man kan omdanne æ,ø,å og så samtidig bevare
htmlkoder så folk kan bruge <strong> og <em>?
Den eneste løsning jeg kan lige nu er str_replace() for de funktioner
man vil bruge, før de gemmes, og så gå den anden vej når teksten hentes,
men det virker lidt omstændigt?
Jonni
| |
Christian Joergensen (01-08-2002)
| Kommentar Fra : Christian Joergensen |
Dato : 01-08-02 16:35 |
|
On Thu, 01 Aug 2002 16:26:05 +0200, Jonni wrote:
> Men bruger man addslashes() på samme input man har behandlet med
> htmlspecialchars() ?
Det er en uskreven regel at man gemmer data i "rå" format, og derefter
formaterer den når man udskriver den igen. Der er ingen grund til at bruge
addslashes() når du blot skriver til filer.
> Og er der en funktion hvor man kan omdanne æ,ø,å og så samtidig bevare
> htmlkoder så folk kan bruge <strong> og <em>?
Hvorfor vil du omdanne æ. ø og å? (Med mindre du bruger HTML 3.2 eller
tidligere). Hvis du vil fjerne tags (med undtagelser) kan du med fordel
kigge på strip_tags() - ellers tror jeg ikke der er nogen vej udenom en
htmlentities() med efterfølgende str_replace() på de få tags du måtte
ønske undtaget.
--
Christian Jørgensen | Do not look into the laser with remaining eye!
http://www.razor.dk |
| |
Jonni (01-08-2002)
| Kommentar Fra : Jonni |
Dato : 01-08-02 20:00 |
|
Christian Joergensen <mail@phpguru.dk> wrote:
> On Thu, 01 Aug 2002 16:26:05 +0200, Jonni wrote:
> Det er en uskreven regel at man gemmer data i "rå" format, og derefter
> formaterer den når man udskriver den igen. Der er ingen grund til at
> bruge addslashes() når du blot skriver til filer.
>
>> Og er der en funktion hvor man kan omdanne æ,ø,å og så samtidig
>> bevare htmlkoder så folk kan bruge <strong> og <em>?
>
> Hvorfor vil du omdanne æ. ø og å? (Med mindre du bruger HTML 3.2 eller
> tidligere). Hvis du vil fjerne tags (med undtagelser) kan du med
> fordel kigge på strip_tags() - ellers tror jeg ikke der er nogen vej
> udenom en htmlentities() med efterfølgende str_replace() på de få
> tags du måtte ønske undtaget.
Takker, givermening altid at have de originale data, hvis man skulle
ønske at gøre noget anderledes senere hen.
strip_tags ( string str [, string allowable_tags]) ser retspændende ud,
ligner at man bare kan indføje de tags man vil tillade brugen af.
Med hensyn til æ,ø,å mente jeg bare at det kunne være smart at siden
kunne validere selvom der var et indlæg med æ, ø eller å.
Takker
Jonni
| |
Jonas Koch Bentzen (03-08-2002)
| Kommentar Fra : Jonas Koch Bentzen |
Dato : 03-08-02 11:07 |
|
Jonni skrev:
>
> Med hensyn til æ,ø,å mente jeg bare at det kunne være smart at siden
> kunne validere selvom der var et indlæg med æ, ø eller å.
Det gør den da også, hvis du bare bruger det rigtige tegnsæt (ISO-8859-1):
<?xml version='1.0' encoding='ISO-8859-1' ?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN'
' '>http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'>
<html>
<head>
<title>Æ, Ø og Å</title>
</head>
<body>
<div>
Æ, Ø og Å.
</div>
</body>
</html>
| |
Jonni (03-08-2002)
| Kommentar Fra : Jonni |
Dato : 03-08-02 15:07 |
|
Jonas Koch Bentzen <ingen.email@eksempel.dk> wrote:
> Jonni skrev:
> >
>> Med hensyn til æ,ø,å mente jeg bare at det kunne være smart at siden
>> kunne validere selvom der var et indlæg med æ, ø eller å.
>
> Det gør den da også, hvis du bare bruger det rigtige tegnsæt (ISO-
> 8859-1):
Du har helt ret, har af en eller grund besluttet at unicode var den
'rigtige' værdi. (Har ikke givet mig det store bøvl da min editor
omdanner æ, ø og å.)
Har nu læst lidt på lektien, og har et par spørgsmål.
Hvis jeg har forstået det ret:
http-equiv leverer header information der omhandler fremvisning af siden
i browseren.
'meta name' leverer primært suplerende information vedrørende cashe i
browser, til robotter, og om dokumentets indhold.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict //EN"
" http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="da">
<meta http-equiv="content-language" content="da" />
Hvilken måde refererer bedst til sproget, og EN i doctype vedrører vel
ikke sidens sproglige indhold
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"
/>
<meta http-equiv="content-style-type" content="text/css" />
Med ovenstående linier har jeg så defineret det nødvendige for en
optimal fremvisning af siden?
Lige et sidste, da siderne er gemt som *.php skal jeg vel ikke bruge
"Content-Script-Type"?
Men hvad når jeg vil suplere med JavaScript på samme side, skal det så
være "text/javascript", eller er php automatisk default scripting sprog
i en php-fil?
Jeg forlanger ikke for meget vel?
Jonni
| |
Jonas Koch Bentzen (03-08-2002)
| Kommentar Fra : Jonas Koch Bentzen |
Dato : 03-08-02 15:54 |
|
Jonni skrev:
>
> Har nu læst lidt på lektien, og har et par spørgsmål.
> Hvis jeg har forstået det ret:
> http-equiv leverer header information der omhandler fremvisning af siden
> i browseren.
> 'meta name' leverer primært suplerende information vedrørende cashe i
> browser, til robotter, og om dokumentets indhold.
http://htmlhelp.com/reference/wilbur/head/meta.html
>
> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict //EN"
> " http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
> <html lang="da">
> <meta http-equiv="content-language" content="da" />
> Hvilken måde refererer bedst til sproget, og EN i doctype vedrører vel
> ikke sidens sproglige indhold
>
> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"
> />
Jeg vil tro, at Content-Type skal med stort forbogstav.
> <meta http-equiv="content-style-type" content="text/css" />
Den er mig bekendt ikke nødvendig.
> Lige et sidste, da siderne er gemt som *.php skal jeg vel ikke bruge
> "Content-Script-Type"?
Nej.
> Men hvad når jeg vil suplere med JavaScript på samme side, skal det så
> være "text/javascript"
Ja - ellers er det ikke gyldig HTML (<script>-koden kræver en
"type"-attribut):
<script type='text/javascript'>
alert("Hallo!")
</script>
> eller er php automatisk default scripting sprog
> i en php-fil?
PHP er serverside, ikke klientside.
| |
Jonni (03-08-2002)
| Kommentar Fra : Jonni |
Dato : 03-08-02 19:47 |
|
"Jonas Koch Bentzen" <ingen.email@eksempel.dk> skrev i en meddelelse
news:3D4BEE7C.5090803@eksempel.dk...
> Jonni skrev:
> > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict //EN"
> > " http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
> > <html lang="da">
> > <meta http-equiv="content-language" content="da" />
> > Hvilken måde refererer bedst til sproget, og EN i doctype vedrører
vel
> > ikke sidens sproglige indhold
> >
> > <meta http-equiv="content-type" content="text/html;
charset=iso-8859-1"
> > />
>
> Jeg vil tro, at Content-Type skal med stort forbogstav.
Lyder rigtigt, kom til at rette værdien til småt, sammen med koderne.
> > <meta http-equiv="content-style-type" content="text/css" />
>
> Den er mig bekendt ikke nødvendig.
Tak, har heller ikke brugt den tidligere.
> > Men hvad når jeg vil suplere med JavaScript på samme side, skal det
så
> > være "text/javascript"
>
> Ja - ellers er det ikke gyldig HTML (<script>-koden kræver en
> "type"-attribut):
>
> <script type='text/javascript'>
> alert("Hallo!")
> </script>
Klart, men når man alligevel altid skriver det i <script>tag'et, behøves
det vel ikke i <meta> tag'et?
> > eller er php automatisk default scripting sprog
> > i en php-fil?
>
> PHP er serverside, ikke klientside.
Snak om at sove i timen
| |
Chano Andersen (02-08-2002)
| Kommentar Fra : Chano Andersen |
Dato : 02-08-02 02:41 |
|
On Thu, 01 Aug 2002 17:34:35 +0200, Christian Joergensen <mail@phpguru.dk> enlightend everyone in dk.edb.internet.webdesign.serverside.php with:
> kigge på strip_tags() - ellers tror jeg ikke der er nogen vej udenom en
> htmlentities() med efterfølgende str_replace() på de få tags du måtte
> ønske undtaget.
>
Hvad med denne?
function dkcharstohtml ($string) {
$dkcharshtml = array(
"æ" => "æ",
"ø" => "ø",
"å" => "å",
"Æ" => "Æ",
"Ø" => "Ø",
"Å" => "Å");
return strtr($string,$dkcharshtml);
}
Den skulle kunne omdanne æ,ø,å uden at røre noget andet.
Kaldes sådan her:
echo dkcharshtml($message);
--
Chano Andersen (chano@mrfunny.yi.org)
MSN Messenger: chano_andersen@hotmail.com ICQ: 15377564
Yahoo! Messenger: mrfunny_dk AIM: mrfunnydk1
http://mrfunny.yi.org/ | http://www.nikkiwebster.dk/
| |
Jonni (02-08-2002)
| Kommentar Fra : Jonni |
Dato : 02-08-02 07:48 |
|
Chano Andersen <spamtrap@mrfunny.yi.org> wrote:
> On Thu, 01 Aug 2002 17:34:35 +0200, Christian Joergensen
>>
>
> Hvad med denne?
>
> function dkcharstohtml ($string) {
> $dkcharshtml = array(
> "æ" => "æ",
> "ø" => "ø",
> "å" => "å",
> "Æ" => "Æ",
> "Ø" => "Ø",
> "Å" => "Å");
>
> return strtr($string,$dkcharshtml);
> }
>
> Den skulle kunne omdanne æ,ø,å uden at røre noget andet.
>
> Kaldes sådan her:
>
> echo dkcharshtml($message);
Takker, lidt mere elegant end en række str_replace(), som er der hvor
jeg er nået til.
Jonni
| |
Chano Andersen (03-08-2002)
| Kommentar Fra : Chano Andersen |
Dato : 03-08-02 02:43 |
|
On Fri, 2 Aug 2002 08:47:40 +0200, Jonni <jobier@hotmail.com> enlightend everyone in dk.edb.internet.webdesign.serverside.php with:
> Takker, lidt mere elegant end en række str_replace(), som er der hvor
> jeg er nået til.
Tjeck lige, at jeg bruger de rigtige entities for æøå, da jeg ikke er helt
sikker på om jeg har skrevet dem rigtigt.
--
Chano Andersen (chano@mrfunny.yi.org)
MSN Messenger: chano_andersen@hotmail.com ICQ: 15377564
Yahoo! Messenger: mrfunny_dk AIM: mrfunnydk1
http://mrfunny.yi.org/ | http://www.nikkiwebster.dk/
| |
Jonni (03-08-2002)
| Kommentar Fra : Jonni |
Dato : 03-08-02 07:55 |
|
Chano Andersen <spamtrap@mrfunny.yi.org> wrote:
> On Fri, 2 Aug 2002 08:47:40 +0200, Jonni <jobier@hotmail.com>
> enlightend everyone in dk.edb.internet.webdesign.serverside.php with:
>> Takker, lidt mere elegant end en række str_replace(), som er der hvor
>> jeg er nået til.
>
> Tjeck lige, at jeg bruger de rigtige entities for æøå, da jeg ikke er
> helt sikker på om jeg har skrevet dem rigtigt.
Ser fint ud her, og virker fint
Jonni
| |
|
|