Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Text mit Links (HTML)-formatiert ausgeben

Einklappen

Neue Werbung 2019

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

  • asyoulikeit
    hat ein Thema erstellt [Erledigt] Text mit Links (HTML)-formatiert ausgeben.

    [Erledigt] Text mit Links (HTML)-formatiert ausgeben

    Entschuldigt, wenn die Überschrift etwas wirr klingt. Ich weiß nicht recht, wie ich das formulieren soll.

    Konkret geht es um folgendes Problem: Ich lese aus einer MySQL-Tabelle einen Text aus, der später als Inhalt in einer HTML-Seite angezeigt werden soll. Soweit so gut. Innerhalb des Textes gibt es aber Links, die dort komplett mit <a href... umgeben stehen. Der Text sieht beispielsweise so aus:
    Code:
    Bitte senden Sie uns bei Interesse Ihre aussagekräftigen Bewerbungensunterlagen zu. Die ausführliche Stellenausschreibung erhalten Sie durch Klick auf den jeweiligen Bereich als PDF-Formular. 
     
    Falls Sie den dafür notwendigen Acrobat Reader noch nicht zur Verfügung haben, können Sie Ihn sich <a href="http://www.adobe.com/de/products/acrobat/readstep2.html" target="_blank">hier</a> kostenlos herunterladen.
    Ausgegeben wird er auf der Seite mit Hilfe dieser Zeile:
    PHP-Code:
    <?php echo nl2br(htmlentities($inhalt[1])); ?>
    Wird auch brav alles ausgegeben, aber eben alles. Also auch das gesamte drumherum und kein Link draus gemacht. Was mache ich falsch, und wie mache ich es richtig?

  • lazydog
    antwortet
    Besser als nur die Umlaute zu codieren, wäre alles zu codieren, ausser den tags
    PHP-Code:
    echo nl2br(
        
    preg_replace(array('/&lt;/i''/&gt;/i'), array('<''>'),
            
    htmlentities($inhalt[1])
        )
    ); 
    </span> </span>

    Einen Kommentar schreiben:


  • cycap
    antwortet
    dann markier ich das mal als erledigt, bitte nächstes mal selber dran denken

    edit: ok, da war ich wohl ne sekunde zu spät

    Einen Kommentar schreiben:


  • asyoulikeit
    antwortet
    O.K., danke, keine weiteren Fragen

    Einen Kommentar schreiben:


  • papl
    antwortet
    PHP-Code:
    <?php
    function umlaute2ascii($string)
    {
      
    $string=str_replace('ä''&auml;'$string);
      
    $string=str_replace('Ä''&Auml;'$string);
      
    $string=str_replace('ö''&ouml;'$string);
      
    $string=str_replace('Ö''&Ouml;'$string);
      
    $string=str_replace('ü''&uuml;'$string);
      
    $string=str_replace('Ü''&Uuml;'$string);
      
    $string=str_replace('ß''&szlig;'$string);
      return 
    $string;
    }
    ?>

    Einen Kommentar schreiben:


  • asyoulikeit
    antwortet
    Hm, o.k., das funktioniert, aber dann habe ich im Text wieder alle Umlaute und Sonderzeichen. Gibt's da nicht zufällig einen Befehl, der diese Zeichen umwandelt, aber HTML-Codes so lässt?

    Einen Kommentar schreiben:


  • agrajag
    antwortet
    Hallo asyoulikeit,

    htmlentities() maskiert alle HTML-Zeichen. (siehe Manual: PHP: htmlentities - Manual) - also auch deinen Link. Wenn du jegliches HTML/JavaScript, dass im Text in der Datenbank steht auch angezeigt/ausgeführt haben willst, dann lasse htmlentities() weg.

    (Wenn das Benutzereingaben sind handelst du dir dadurch aber u.U. Sicherheitsprobleme ein...)

    Einen Kommentar schreiben:

Lädt...
X