webForumDet fria alternativet

strtolower

6 svar · 363 visningar · startad av [miCkE]

[miCkE]Medlem sedan okt. 200133 inlägg
#1

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
#2

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
#3

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
#4

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
#5

läsa in dom i en array borde fixa det tror jag..

MatteMedlem sedan aug. 20002 970 inlägg
#6

[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
#7

Matte -> kungen!! :birp

Genererad på 382 ms · cache AV · v20260730165559-full.f96bc7eb