02. juni 2007 - 19:43
Der er
17 kommentarer og 1 løsning
reg exp (alle alfabetiske tegn)
Jeg har en funktion som tjekker om hele strings er skrevet med caps.. I min preg_match angiver jeg a-zæøå, men er det ikke muligt at angive ALLE alfabetiske tegn? Jeg tænker også på ö, ä osv. function str_capitalize($str) { return preg_replace('/\b(\w)/ie', "strtoupper('\\1')", strtolower($str)); } if(!preg_match('/[a-zæøå]/', $str)) $str = str_capitalize($str);
Annonceindlæg fra Computerworld
Du skal IKKE bruge en regex til dette. Istedet bør du bruge ctype_alpha
www.php.net/ctype
jeg tror du misforstår.. jeg skal ikke tjekke om de er alfabetiske, men om stringen er skrevet med CAPS derfor vil jeg høre om man kunne definere alle alfabetiske tegn i sin reg exp på en facon?
sorry.. jeg var lidt for hurtig :) smid et svar
eller.. den gør ikke helt det jeg går efter ALDAS1231 vil også gå ind under !ctype_upper()
KLWC139 -> false LMNSDO -> true akwSKWsm -> false
hvad med at bruge begge dele ? :p
03. juni 2007 - 19:05
#10
return (ctype_alpha($string) && ctype_upper($string))
03. juni 2007 - 19:59
#11
jamen hvad nu hvis det er en kombineret string? :) $arr = array('ASDF123','ASdf123','ASDF','ASdf'); echo 'ctype_alpha() && ctype_upper()<br>'; foreach($arr as $v) { if(ctype_alpha($v) && ctype_upper($v)) echo $v.' = true<br>'; else echo $v.' = false<br>'; } echo '<br>ctype_upper()<br>'; foreach($arr as $v) { if(ctype_upper($v)) echo $v.' = true<br>'; else echo $v.' = false<br>'; } ----------------- ctype_alpha() && ctype_upper() ASDF123 = false ASdf123 = false ASDF = true ASdf = false ctype_upper() ASDF123 = false ASdf123 = false ASDF = true ASdf = false men det burde give ASDF123 = false ASdf123 = true ASDF = false ASdf = true
03. juni 2007 - 20:00
#12
min reg exp virker som den skal, men i stedet for at man skal angive de alfabetiske tegn ville jeg høre om der ikke fandtes en [:alpha:] (<-- mener faktisk den ser sådan ud) som gik ind under alle alpha tegn..
03. juni 2007 - 20:02
#13
jeg vil gerne være fri for at angive hvert eneste tegn a-zæøåöäü osv.
04. juni 2007 - 04:05
#14
Dit spørgsmål giver jo stadig ikke mening. Du vil lave alle tegn til uppercase ? hvorfor bruger du så ikke bare strtoupper() ?
04. juni 2007 - 04:06
#15
04. juni 2007 - 16:13
#16
Den gør stadig heller ikke helt det jeg er ude efter ucwords() -> Asdf Asdf-asdf'asdf str_capitalize() -> Asdf Asdf-Asdf'Asdf men kunne du hjælpe mig den syntax der tager alle alfabetiske tegn i reg exp? mener den hedder noget ala [:alpha:]
04. juni 2007 - 16:15
#17
mit problem er nemlig at min preg ikke kun skal parse danske tegn
05. juni 2007 - 17:27
#18
det er åbenbart ikke sådan lige til :-/ men tak for din tid :)
Vi tilbyder markedets bedste kurser inden for webudvikling