[miCkE]Medlem sedan okt. 200133 inlägg
Hej.. Skulle behöva lite experthjälp.
Om jag har exempelvis följande text:
---
hemlagade köttbullar m stuvade makaroner.
kyckling m ris o currysås.
---
Hur gör jag en funktion som gör första bokstaven efter punkt till stor bokstav? Resultatet skall vara:
---
Hemlagade köttbullar m stuvade makaroner.
Kyckling m ris o currysås.
---
Jag går bet på detta.. Help please..
/Micke :q
Nexus86Medlem sedan okt. 20022 683 inlägg
Använd funktionen ucfirst. För mer info om hur man använder den, kolla http://www.php.net/manual/en/function.ucfirst.php.
MatteMedlem sedan aug. 20002 970 inlägg
Testa detta:
<?php
$text = "hemlagade köttbullar m stuvade makaroner.
kyckling m ris o currysås.";
function firstUp($a, $b){
return $a.strtoupper($b);
}
// För första tecknet i strängen
$text = ucfirst($text);
// För stor bokstav efter punkt
$text = preg_replace("/(\.\s*)(\w)?/se", "firstUp('$1','$2')", $text);
echo $text;
?>
[miCkE]Medlem sedan okt. 200133 inlägg
Hej och tack Matte..!
Om vi skulle ta det ett steg längre och säga att jag har
c:a 400 rader med olika rätter och följande struktur:
-----
hemlagade köttbullar m stuvade makaroner.
kyckling m ris o currysås.
-----
Hur faen gör jag en loop som tar mig igenom alla rader och
gör första bokstaven efter punkt till stor bokstav?
:q
GaqziMedlem sedan aug. 2002228 inlägg
läsa in dom i en array borde fixa det tror jag..
MatteMedlem sedan aug. 20002 970 inlägg
[miCkE skrev:
]Hej och tack Matte..!
Om vi skulle ta det ett steg längre och säga att jag har
c:a 400 rader med olika rätter och följande struktur:
-----
hemlagade köttbullar m stuvade makaroner.
kyckling m ris o currysås.
-----
Hur faen gör jag en loop som tar mig igenom alla rader och
gör första bokstaven efter punkt till stor bokstav?
:q
Har du dina rader i en textfil? Då kan du göra så här:
<?php
$filename = "textfil.txt";
$fp = fopen($filename, "r");
$text = fread($fp, filesize($filename));
fclose($fp);
function firstUp($a, $b){
return $a.strtoupper($b);
}
// För första tecknet i strängen
$text = ucfirst($text);
// För stor bokstav efter punkt
$text = preg_replace("/(\.\s*)(\w)?/se", "firstUp('$1','$2')", $text);
echo $text;
?>
Annars är ju principen densamma även om du inte har det i en textfil. Läs in alla rader i variabeln $test och kör koden.
[miCkE]Medlem sedan okt. 200133 inlägg