![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 29.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
witam
przebrnąłem przez manual php dotyczący modułu GD i nie odnalazłem rozwiązania mojego problemu. przyjmijmy, iż na zmiennej $tekst mam pewien kilkuset znakowy tekst. Chcę go wyświetlić na obrazku o wymiarach 400px X 200px używam czcionki monospace - zatem czcionki w której znaki mają taką samą szerokość. Podział tekstu na wiersze rozwiązałem za pomocą działań matematycznych, tj. 1) zliczam ilość znaków w tekście 2) dzielę go przez maksymalą ilość znaków w jednym wierszu i wychodzi mi liczba wierszów które są potrzebne do wyświetlenia tekstu 3) tekst dzielę na porcje i zapisuje w tablicy $tekst_do_wyświetlenia[] 4) tablice wyświetlam kolejno na obrazku za pomocą imagestring No i pojawia się problem. Mianowicie tekst przenoszony jest do następnego wiersza bez zachowania zasad języka polskiego, Jakie proponujecie rozwiązanie? Może istnieje jakaś funkcja o której nie wiem a która ułatwi rozwiązanie tego problemu. aby zobrazować mój problem, przedstawiam przykładowe teksty umieszczone w tablicy: $tekst_do_wyświetlenia[1]="jakiś przykładowy tekst do wyświetlenia obrazku który zostanie umieszc"; $tekst_do_wyświetlenia[2]="zony na stronie www"; |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
explode" title="Zobacz w manualu PHP" target="_manual na spacje, to będziesz miał podział wg wyrazów. Przeszukaj dział przedszkole; był tam wątek na podobny temat jakiś tydzień temu.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 3 Dołączył: 23.10.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
można ten problem rozwiązać na 2 sposoby
zakładając że
pierwszy przy pomocy substr tnąc string i wyszukując spację
lub rozwijając na tablice:
wynik w $wiersz Kod Array ( [0] => używam czcionki [1] => monospace - zatem [2] => czcionki w której [3] => znaki mają taką [4] => samą szerokość ) pisane z palca więc coś może nie działać poprawnie Ten post edytował Kamson 30.11.2008, 07:44:41 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 29.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
dziękuję za porady z całą pewnością mi się przydadzą do dalszej pracy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
obecnie problem rozwiązałem przez wykorzystanie explode(" ", $string) i jest ok, jednak na samym początku zmierzałem do nieco innego rozwiązania. Chodziło mi o zawijanie zgodnie z zasadami języka polskiego, nie tak - aby caly wyraz został przeniesiony do nowej linijki, tylko tak aby ostatnie sylaby wyrazu nie mieszczące się w wierszu zostały ucinane. Uciąć string normalnie nie jest problemem, ale uciąć go zgodnie z zasadami języka polskiego już tak:) chodzi o to aby w tablicy zamiast: Array ( [0] => używam czcionki [1] => monospace - zatem [2] => czcionki w której [3] => znaki mają taką [4] => samą szerokość ) było Array ( [0] => używam czcion- [1] => ki monospace, zatem [2] => czcionki w któ- [3] => rej znaki mają ta- [4] => ką samą szerokość ) wiem, że być może utrudniam sobie rozwiązanie, ale zależy mi na tym aby wyświetlić na obrazku jak najbardziej zbliżony do wyjustowanego tekst |
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
No to będziesz miał problem. Jedyne, co znalazłem, to to: http://szafranek.net/blog/archive/2004/09/...elenie_wyrazow/
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 28.09.2025 - 04:49 |