Avatar billede claushelth Nybegynder
07. juli 2003 - 10:54 Der er 17 kommentarer og
1 løsning

tillade linjeskift i RegExp

Jeg har et textarea hvor i jag vil tillade linje skift i.
Jeg har forsøgt at tillade \n og <br /> men ingen af dem kan jeg få til at virke??

Her er mit udtryk...det virker bortset fra linjeskiftet!

//kommentar indeholder: [a-a og A-Å og 0-9] kan indeholde mange specialtegn mellemrum, men må gerne være tom.
        $kommentar_re     = "/^[a-zæøå|A-ZÆØÅ|0-9|\- ]+(([\´\,\.\-\_\?\(\)\%\: ][a-zæøå|A-ZÆØÅ|0-9 ])?[a-zæøå|A-ZÆØÅ|0-9|\.\,\?\(\) ]*)*$/";

claus
Avatar billede erikjacobsen Ekspert
07. juli 2003 - 10:57 #1
Prøv
  $kommentar_re    = "/^[a-zæøå|A-ZÆØÅ|0-9|\- ]+(([\´\,\.\-\_\?\(\)\%\: ][a-zæøå|A-ZÆØÅ|0-9 ])?[a-zæøå|A-ZÆØÅ|0-9|\.\,\?\(\) ]*)*$/s";
Avatar billede erikjacobsen Ekspert
07. juli 2003 - 10:58 #2
Næh, hov, det løser vist intet. Prøv \\n
Avatar billede claushelth Nybegynder
07. juli 2003 - 11:06 #3
nej s hjalp ikke.
...(\) ]*)*$/\\n"; laver en fejl, men den skal da vist også slutte med /"

......(\) ]*)*$/\n"; virker ikke

......(\) ]*)*$\n/"; virker ikke

......(\) ]*)*$\\n/"; virker desværre heller ikke :-)
Avatar billede erikjacobsen Ekspert
07. juli 2003 - 11:10 #4
Du skal vel nævne \\n på linie med de andre tilladte tegn
Avatar billede claushelth Nybegynder
07. juli 2003 - 11:11 #5
der må være mange linjeskift
Avatar billede claushelth Nybegynder
07. juli 2003 - 11:14 #6
skal lige tilføje at det er til en mail-form, hvor man gerne må lave flere linjeskift efter hinanden.
Avatar billede erikjacobsen Ekspert
07. juli 2003 - 11:18 #7
Ja, ligesom der må være mange f'er.

Hvad er det egentlig, der IKKE må være?
Avatar billede claushelth Nybegynder
07. juli 2003 - 11:21 #8
hmm, ja altså det kan godt være at min validering ingen betydning har! Jeg kender ikke noget til hvordan man hacker en php (eller anden) hjemmeside, men det er vel noget med at man forsøger at skrive noget php kode inden i sådan et felt. Det er selvfølgelig det jeg vil prøve at forhindre...men hvad siger du...
Avatar billede claushelth Nybegynder
07. juli 2003 - 11:22 #9
f.eks. tillader jeg ikke ';<> plus alle de tegn jeg ikke kender til
Avatar billede erikjacobsen Ekspert
07. juli 2003 - 11:24 #10
Jeg synes man skal tillade alt, og så blot vise siden med brug
af funktionen htmlentities(). Så kan brugeren skrive <, men det bliver
vist som <.
Avatar billede claushelth Nybegynder
07. juli 2003 - 11:25 #11
okay, så det er mere hvis mán skal validere f.eks. password eller postnumre, man vil bruge regexp i forms
Avatar billede erikjacobsen Ekspert
07. juli 2003 - 11:27 #12
Ja, selvfølgelig - hvis der er nogle regler.
Avatar billede claushelth Nybegynder
07. juli 2003 - 11:28 #13
ok..takker smid et svar , jeg bruger htmlentities() nu ;-)
Avatar billede erikjacobsen Ekspert
07. juli 2003 - 11:29 #14
Det er forøvrigt også mere brugervenligt...
Avatar billede claushelth Nybegynder
07. juli 2003 - 11:31 #15
lige en sidste ting..når selve mailen skal sendes skal den så omformes til htmlentities() inden den sendes altså:

$input    = $_POST["input"];

if( mail("$epost_mdt","$subject","$input","From: $epost_afs\nReply-to: $epost_afs"))
    {
        $_SESSION['input'] = str_replace("\n","<br>",$_POST['input']);
    header("Location:afsendtmail.shtml");
    exit;   
    }

du behøver ikke svare da det jo egentlig er et nyt ?
Avatar billede claushelth Nybegynder
07. juli 2003 - 11:32 #16
det skulle selvfølgelige være htmlentities() og ikke str_replace()
Avatar billede erikjacobsen Ekspert
07. juli 2003 - 11:37 #17
Sender du den som HTML mail skal du bruge htmlentities, men det gør
du jo ikke. Du skulle ikke have behov for det.
Avatar billede claushelth Nybegynder
07. juli 2003 - 11:38 #18
okay..takker, så den omformes bare efter man har sendt den
takker :-)
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