[php] Zamiana pierwszej litery tekstu na obrazek

Witajcie!

Mam problem taki, jak w temacie. Potrzebuję, by skrypt odebrawszy jakiś tekst zamieniał pierwszą literę na obrazek o nazwie tejże litery, np.

To jest zdanie. -> t.gif

Ala ma kota. - a.gif

Z góry dzięki :wink:

Jeżeli to chodzi tylko o pierwszą literę w tekście. To funkcja przyjmująca stringa i zmieniającego pierwszą literę na img.

np.

$znak = $s[0];

$wstaw = ""[/code]

A jakby to mogło wyglądać w całym kodzie??

I z kąd to $s?

Pliki nazywasz z wielkich liter. Np. T.gif

0:function zmien($s){

1: $s=ucfirst($s);

2: $znak = $s[0];

3: $wynik = "";

4: $s=strchr($s, $s[1]);    

5: $wynik .= $s;

6: return wynik;

}


7: $a = "to jest moj string";

8: $a = zmien($a);

[/code]

0: Deklaracja funkcji

1: Zmieniamy pierwszy znak z małej na wielką literę (w przypadku kiedy by nią nie był)

2: Do zmiennej znak zapisujemy pierwszy znak z otrzymanego stringa.

3: Do zmiennej wynik zapisujemy nasz początek.

4: Ucinamy pierwszy znak ze stringa.

5: Łączymy początek z resztą.

6: Zwracamy zmieniony string.

7: Przykładowy string

8: Zmieniamy przykładowy string

Może byc masa błędów, bo jestem zmęczony :slight_smile:

Poprawka z “/” i działa!!

A da się omijać znaki polskie, czyli jak jest “Ś” czy inne polskie znaki, to nie zmienia??

ucfirst ma z tym problem… musisz samemu je oprogramowac…

Próbować if{}else{}, tak?

no…

np tak:

<?php


function zmien($s)

{

	$zamiana = array('ą' => 'Ą', 'ć' => 'Ć', 'ę' => 'Ę', .... 'ż' => 'Ż') //tutaj ustawiasz tablice zamian polskich znaków mała litera => duża litera


	if(in_array($s[0], array_keys($zamiana)))

		$znak = strtr($s[0], $zamiana);

	else

		$znak = strtoupper($s[0]);


	return(''.substr($s, 1));

}


?>

[/code]

nie jestem pewien co do poprawności kodu bo na “sucho” pisałem :stuck_out_tongue:

pjlyoko , jeśli nie potrzebujesz żadnych wyrafinowanych czcionek, to można do tego użyć zwykłego CSS i pseudo elementu :first-letter, a jeśli musisz korzystać z obrazków, to moim zdaniem lepiej robić podmianę (litera -> obrazek) wykorzystując JavaScript (bardziej SEO-friendly).

@absens

Rzeczywiście :slight_smile: Lecz 100% pewności powodzenia w przypadku JS nie ma, a w przypadku php będzie :slight_smile: Ale co do SEO, to rzeczywiście :wink: