Brauche Hilfe bei kleinem PHP Script

  • Brauche Hilfe bei kleinem PHP Script

    Ich brauche jemanden der mir ein wenig unter die Arme greifen kann; ich habe mir ein kleines Script gebastelt welches mir auf ein Vorhandenes Bild die Inhalte schreibt die vorher in einem Formular eingegeben worden sind, allerdings stellt sich mir nun folgendes Problem: Wenn der eingegebene Text zu lang ist, wird einfach über den Rand des Bildes hinaus weitergeschrieben und ist somit abgeschnitten.

    Wie kann ich einen automatischen Zeilenumbruch hinbekommen?

    Hier mal der Quelltext
    Spoiler anzeigen

    PHP-Quellcode

    1. <?php
    2. //Grafikdatei aus vorhandener Grafik erstellen
    3. $bild = imagecreatefromjpeg("vorlage.jpg");
    4. //Textfarbe definieren
    5. $text_farbe = ImageColorAllocate ($bild, 0, 0, 0);
    6. //Schriftgroesse definieren
    7. $textnr = 2;
    8. function umlaute($post)
    9. {
    10. $vokale = array("&auml;", "&uuml;", "&ouml;");
    11. $vokale2 = array("ä", "ü", "ö");
    12. $onlyconsonants = str_replace($vokale, $vokale2, $post);
    13. return $onlyconsonants;
    14. }
    15. $string = iconv("UTF-8", "ISO-8859-1", umlaute($_POST["name"]));
    16. $string2 = iconv("UTF-8", "ISO-8859-1", umlaute($_POST["wohnorte"]));
    17. $string3 = iconv("UTF-8", "ISO-8859-1", umlaute($_POST["beruf"]));
    18. $string4 = iconv("UTF-8", "ISO-8859-1", umlaute($_POST["chef"]));
    19. $string5 = iconv("UTF-8", "ISO-8859-1", umlaute($_POST["straftaten"]));
    20. $string6 = iconv("UTF-8", "ISO-8859-1", umlaute($_POST["fuehrerscheinklassen"]));
    21. $string7 = iconv("UTF-8", "ISO-8859-1", umlaute($_POST["fuehrerscheinpunkte"]));
    22. $string8 = iconv("UTF-8", "ISO-8859-1", umlaute($_POST["waffenscheine"]));
    23. $string9 = iconv("UTF-8", "ISO-8859-1", umlaute($_POST["registrierungsdatum"]));
    24. imagestring($bild, $textnr, 61, 181, $string, $text_farbe);
    25. imagestring($bild, $textnr, 61, 256, $string2, $text_farbe);
    26. imagestring($bild, $textnr, 61, 290, $string3, $text_farbe);
    27. imagestring($bild, $textnr, 61, 323, $string4, $text_farbe);
    28. imagestring($bild, $textnr, 61, 358, $string5, $text_farbe);
    29. imagestring($bild, $textnr, 377, 182, $string6, $text_farbe);
    30. imagestring($bild, $textnr, 377, 220, $string7, $text_farbe);
    31. imagestring($bild, $textnr, 377, 256, $string8, $text_farbe);
    32. imagestring($bild, $textnr, 61, 219, $string9, $text_farbe);
    33. imagestring($bild, $textnr, 700, 70, $aktuellesDatum, $text_farbe);
    34. //Bilder in Ordner speichern
    35. $pfad = "./img/".time()."_".$aktuellesDatum._.$name."_fuehrungszeugnis.jpg";
    36. imagejpeg($bild, $pfad);
    37. imagedestroy($bild);
    38. ?>
    Alles anzeigen


    Ich hoffe ihr könnt mir helfen
  • Mit php.net/manual/de/function.strlen.php die Länge prüfen und gucken bei wv Zeichen das über den Rand geht.
    Dann evt. alle Leerzeichen zählen und in der hälfte (oder kurz vor dem Ende) einen Zeilenumbruch rein, wie man das hinbekommt wieß ich grad nicht