Autor | Zpráva | ||
---|---|---|---|
Mufna Profil |
#1 · Zasláno: 18. 4. 2009, 14:54:54
Zdravím Vás. Mám výpis textového řádku z databáze
if ($desc) { echo '<p class="realityDesc">'.substr(strip_tags($row["description"]),0,52); if (strlen($row["description"])>52) echo ' ...'; } Problém je, když posledním, tedy 52. znakem, je české písmeno s diakritikou. Pak se na konci zobrazí třeba čtvereček či něco podobného. Z toho, co o tom sám vím, je asi problém v tom, že české znaky s diakritikou se v UTF-8 nezapisují jako jeden znak, ale jako dva znaky (alespoň tak jsem si toho všimnul). Potřeboval bych nějakou funkci, která zkontroluje 52. (a možná i 51.) znak. Napadá mě udělat ji tak, že pokud 52. či 51. znak nebude A-Z či 0-9 (takhle by mi to v pohodě stačilo), aby byl nahrazen třeba mezerou. Nabízejí se asi funkce rtrim() a preg_replace(), ale nevím, jak zařídit, aby se kontroloval pouze ten poslední znak v řetězci. |
||
karbon Profil * |
#2 · Zasláno: 18. 4. 2009, 15:01:58
|
||
blizz_boz Profil |
#3 · Zasláno: 18. 4. 2009, 15:16:01
presne tak, na utf-8 musis pouzivat multi byte funkcie
|
||
Mufna Profil |
#4 · Zasláno: 18. 4. 2009, 21:35:12
Díky za tipy
|
||
Časová prodleva: 15 let
|
0