Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] rozbijanie tekstu na podstawie szerokości i spacji
Krisu
post
Post #1





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 30.03.2006
Skąd: Żary

Ostrzeżenie: (0%)
-----


Witam,

mam problem, gdyż nie wiem jak najpeiej napisać program, by był jak najbardziej optymalny w działaniu, proszę o radę.

Zadanie


Mam tekst i sprawdzam jego długość funkcją

  1. <?php
  2. function width($size, $angle, $fontfile, $text) {
  3.  
  4. $ww = imagettfbbox($size, $angle, $fontfile, $text);
  5.  
  6. $ww[&apos;w&apos;] = abs($ww[2] + 1);
  7.  
  8. return $ww;
  9.  
  10. }
  11. ?>
zwraca mi ona szerokość danej zmiennej do której jest przypisany tekst, w pikselach.

Następnie stawiam warunek, co ma się stać z tym tekstem, jeżeli będzie on dłuższy niż 350 px.

Cała trudność polega na tym, że tekst ma być pisany w jednej linii do ostatniej spacji, która jest przed wartością 350 px, następnie pozostała część tekstu ma zostać przeniesiona do następnej linii już w całości.

Przykład

Tekst ma 380 pikseli szerokości, a ostatnia spacja przed 350 px znajduje się na szerokości 345 px. Czyli cały tekst dzielimy na 2 części tą do 345px i tą co zostanie. Jak to zrobić?

Ten post edytował Krisu 5.07.2008, 17:48:56
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Krisu
post
Post #2





Grupa: Zarejestrowani
Postów: 211
Pomógł: 0
Dołączył: 30.03.2006
Skąd: Żary

Ostrzeżenie: (0%)
-----


Działa na 100%, a błąd polega na tym, że w katalogu engine/fonts nie masz czcionki verdany.

żeby wszystko działało musisz ją skopiować do bieżącego katalogu i podać jej nazwę.

Ja zaś chciałbym bardziej zoptymalizować kod, ale nie wiem jak.

Chodzi o to, by na poniższym obrazku nie ucinało tekstu, tylko przenosiło go do kolejnej linii.

Tekst, który został naniesiony na obrazek...

Cytat
Uwolniłeś/aś swoich 99 jednostek i zaprzyjaźnionych1 jednostek.


(IMG:http://img355.imageshack.us/img355/549/55258489ty6.png)

Ten post edytował Krisu 5.07.2008, 21:06:42
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.10.2025 - 19:11