Avatar billede learner Praktikant
11. januar 2006 - 16:10 Der er 5 kommentarer og
1 løsning

Tjek for specielle tegn i en streng

Hej, jeg har brug for at tjekke om der er specielle tegn såsom æøåö osv. i en streng.

Nogen der har prøvet det før?

Noget lignende:

$tilladte_tegn_i_sms = "1234567890abcdefghijklmnopqrstuvxyz ABCDEFGHIJKLMNOPQRSTUVXYZ'%½=?+()/&<>;:-_*"; //evt også tillade '\n' og öäëÿæøåÖÄËÆØÅ skal testes
$str = "hej med dig ælling";
if (andre_tegn_end_tilladte_i($str,$tilladte_tegn_i_sms)){
  echo "specielle tegn findes";
}

På forhånd mange tak :o)

Jeg skal bruge det når min hjemmeside sender sms'er ud gennem clickatell.com.
Hvis der er specielle tegn, så skal jeg sende beskeden afsted i unicode format. Der er nemlig kun plads til ca 70 tegn i en unicode-format-sms, så det koster ofte 2-3 beskeder at skrive i unicode-format. Men det er jo ikke altid der er specielle tegn i en polsk besked, og så kan jeg jo ligeså godt spare lidt små-ører :o)
Avatar billede wetdog Nybegynder
11. januar 2006 - 21:21 #1
prøv at kigge lidt på erikjacobsen´s svar i nedenstående:

http://www.eksperten.dk/spm/563039
Avatar billede learner Praktikant
12. januar 2006 - 10:11 #2
Tak :o)
Jeg har kigget på det og jeg fatter ik helt hvordan jeg skal bruge eregi()
Kan du forklare mig det.

Jeg forstår ikke denne del:
"^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$"
Anden version jeg selv bruger i mail validering:
"^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$"

Hvad betyder tegnene ^ og * og \. og + og $
Hvordan med mellemrum? jeg vil tillade mellemrum.
og hvad med store bogstaver? Skal man skrive a-zA-Z eller bare a-z

Hvordan skal min se ud?
Skal den se ca således ud: ?
if(!eregi("^([_a-z0-9A-Z,.'% ½=?+()/&<>;:-_*";])$"){echo "specialtegn tilstede";}

:o)
Avatar billede learner Praktikant
12. januar 2006 - 14:05 #3
anybody?
Avatar billede learner Praktikant
13. januar 2006 - 23:02 #4
Jeg har fundet ud af det og skriver snarest hvordan. Skal lige sove først osv :o)
Avatar billede learner Praktikant
28. januar 2006 - 08:46 #5
her er hvordan jeg har gjort det:

// Der tjekkes om der er specielle tegn i beskeden og hvis der er, så sendes sms som unicode
if (!eregi("^([-a-z0-9!--[:space:][:punct:]¤£]*)$", $sms_ready_to_send[$wantsid])){
  // unicode-tegn til stede
}


Smid venligst svar og jeg deler lidt point ud

Tak for hjælpen :o)
Avatar billede learner Praktikant
28. januar 2006 - 08:46 #6
svar
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