Ankündigung

Einklappen
Keine Ankündigung bisher.

problem mit Text-Übergabe via URL

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • problem mit Text-Übergabe via URL

    Hallo zusammen,

    in meiner Seite lasse ich interaktiv Text-Grafiken erstellen.
    Dazu habe ich folgendes skript in der schrift.php:
    PHP-Code:
    <?php

       header
    ('Content-type: image/png');
       if(isset(
    $width)) {
                        
    $size1=getimagesize("images/schrift.png"); 
                        
    $breite=$size1[0]; 
                        
    $hoehe=$size1[1]; 
                         
    $img=ImageCreateFromPNG("images/schrift.png"); 
                        
    imagecopyresampled($img,$img,0,0,0,0,$width,$hoehe,$breite,$hoehe); 
       } else { 
              if(!isset(
    $breite)) { $breite="200"; }
           
    $url "images/schrift$breite.png";
              
    $img ImageCreateFromPNG("$url"); }
           
    $color ImageColorAllocate($img818181); //Farbe
           
    $ttf "CSU-Schrift2000i.ttf"//Schriftart
           
    if(isset($size)) { $ttfsize $size; } else { $ttfsize 11; }//Schriftgrösse
           
    $t_x 0;
           
    $t_y 15;
           
    $text str_replace('"',""",$text);
           imagettftext(
    $img$ttfsize, 0, $t_x$t_y$color$ttf$text);
           imagepng(
    $img);
           imagedestroy(
    $img);
    ?>
    und das ganze binde ich so in die Seite ein:
    PHP-Code:
    [img]schrift.php?text=Hallo![/img
    Das kappt auch wunderbar, aber wenn in dem Text ein " vorkommen soll hört dort der Text auf! Ich habe schon versucht das " durch " ersetzen zu lassen, aber leider funktioniert das nicht so!

    Habt ihr eine Idee?

    Danke,
    Max


  • #2
    Hallo, ich rate dir die Eingabelänge und -vielfalt einzuschränken. Wenn ich hier einen ellenlangen Text übergebe, bringt das deinen Server ganzschön ins Schwitzen.

    Log einfach die ersten Tage alle Wörter mit - in der Zeit wird schon keiner auf die Idee kommen - und erlaube danach nurnoch Texte aus diesem Textpool.

    Zu deiner Frage: logischerweise kannst du kein " als pures HTML in den Code schreiben, denn die Attribut-Begrenzer sind in HTML nunmal " und '.
    Benutz also entweder das ' zum Begrenzen oder mach es sauber und lass den Text urlencoden().

    In PHP heißen die Funktion zum en-/decoden urlencode()/urldecode(). In Javascript sind es escape() und unescape().

    Kommentar

    Lädt...
    X