Avatar billede supermand69 Nybegynder
20. november 2004 - 11:19 Der er 16 kommentarer og
1 løsning

preg_replace, alle ord skal starte med stort

hvordan kan jeg få alle ord til at starte med stort?

JEG er EN aNSjos Til reg EXp. => Jeg Er En Ansjos Til Reg Exp.
Avatar billede henninghabor Nybegynder
20. november 2004 - 11:36 #1
$foo = 'hello world!';
$foo = ucwords($foo);
Avatar billede hmortensen Nybegynder
20. november 2004 - 12:02 #2
ucwords() er ikke nok. Du kan se forskellen her. Kan være du skal bruge en anden locale:

$str = "KLE lkd ÅÆnØ låse øVE!";
echo ucwords($str)."<br />";
setlocale (LC_ALL, 'da_DK.ISO8859-1');
echo ucwords(strtolower($str));
Avatar billede supermand69 Nybegynder
20. november 2004 - 12:14 #3
er det nødvendigt med den her?
setlocale (LC_ALL, 'da_DK.ISO8859-1');

jeg synes ikke at se nogen forskel?
Avatar billede supermand69 Nybegynder
20. november 2004 - 12:18 #4
Jeg glemte lige en ting. Ord som starter lige efter ( ) eller - skal også starte med store bogstaver

$str = "KLE lkd ÅÆnØ-låse (øVE)!";
Avatar billede hmortensen Nybegynder
20. november 2004 - 12:32 #5
Så skulle den være der. Du kan prøve nogle forskellige locales:
da
da_DK
danish
dan
<?php
$str = "KLE lkd ÅÆnØ-låse (øVE)!";
setlocale (LC_ALL, 'da_DK.ISO8859-1');
print '<p style="text-transform:capitalize">';
print ucwords(strtolower($str));
print '<p>';
?>
Avatar billede supermand69 Nybegynder
20. november 2004 - 12:42 #6
kan det ikke lade sig gøre at lave udelukkende i PHP? ;)
Avatar billede hmortensen Nybegynder
20. november 2004 - 12:44 #7
Sikkert, men jeg kan ikke lige :)
Avatar billede bojo Nybegynder
20. november 2004 - 12:58 #8
$str = preg_replace( "/([^|\W]\w)/e", "ucwords(\${1})", strtolower($str) );
Avatar billede bojo Nybegynder
20. november 2004 - 12:59 #9
ups - nej, prøver igen
Avatar billede detox Nybegynder
20. november 2004 - 13:12 #10
Hvorfor ikke bare:

$str = ucwords(strtolower($str));
Avatar billede bojo Nybegynder
20. november 2004 - 13:13 #11
er prøvet 12:02:39
Avatar billede detox Nybegynder
20. november 2004 - 13:14 #12
Ja, men det fungerer da!
Avatar billede bojo Nybegynder
20. november 2004 - 13:17 #13
ikke her

KLE lkd ÅÆnØ-låse (øVE) bliver til Kle Lkd Åænø-låse (øve)!

(øve) skal være (Øve)og -låse skal være -Låse
Avatar billede hmortensen Nybegynder
20. november 2004 - 13:18 #14
Ikke når der er - eller().

Den her skulle virke:

function MinUCWords($str) {
$stop = TRUE;
for ($i=0;$i<strlen($str);$i++) {
    $karakter = substr($str,$i,1);
    if (((ord($karakter) > 64) && (ord($karakter) < 91)) ||
    ((ord($karakter) > 47) && (ord($karakter) < 58)) ||
    ((ord($karakter) > 96) && (ord($karakter) < 123)) ||
    (ord($karakter) == 230) || (ord($karakter) == 248) ||
    (ord($karakter) == 229) || (ord($karakter) == 198) ||
    (ord($karakter) == 216) || (ord($karakter) == 197)) {
        if ($stop) {
            $nystr .= strtoupper($karakter);
        } else {
            $nystr .= strtolower($karakter);
        }
        $stop = FALSE;
    } else {
        $nystr .= $karakter;
        $stop = TRUE;
    }
}
return $nystr;
}

echo MinUCWords($str);
Avatar billede detox Nybegynder
20. november 2004 - 13:20 #15
I see!
Avatar billede supermand69 Nybegynder
20. november 2004 - 15:58 #16
hmortensen > ok... jeg tror bare jeg holder mig til løsningen i CSS ;)

lav et svar
Avatar billede hmortensen Nybegynder
21. november 2004 - 18:48 #17
Ok :)
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