Dynamisch html erzeugen

Rene42

Erfahrenes Mitglied
Hi,

Ich habe da ein kleines Problem. Ich würde gerne mit php dynamischen html Code erzeugen.
PHP:
echo "<a href="$Link">Index</a>";

Nun stört er sich aber an den " vor und nach $Link. Kann man die irgendwie maskieren. Oder weiss jemand nen anderen Weg?

Gruß Rene42
 
PHP:
echo "<a href=\"".htmlspecialchars($Link)."\">Index</a>";

So einfach gehts.

"Schöner" geht es auch so:

PHP:
echo '<a href="'.htmlspecialchars($Link).'">Index</a>';
 
Zuletzt bearbeitet:
Oder so:

PHP:
echo sprintf('<a href="%s">linktext</a>', $Link);

Oder so:

PHP:
<a href="<?php echo $Link;?>">Linktext</a>

Es führen viele Wege nach Rom ^^
 
HTML-Metazeichen-Maskieren nicht vergessen:
PHP:
echo '<a href="'.htmlspecialchars($Link).'"> … </a>';
 
Das funktioniert nicht, weil du dann auf der falschen Seite landest.

PHP:
<?php
$link = 'test.php?var=1&var=2';
echo '<a href="'.$link.'">test</a><br/>';
echo '<a href="'.htmlspecialchars($link).'">test</a><br/>';
echo '<a href="'.urlencode($link).'">test</a>';
?>

Ausgabe
Code:
<a href="test.php?var=1&var=2">test</a><br/>
<a href="test.php?var=1&amp;var=2">test</a><br/>
<a href="test.php%3Fvar%3D1%26var%3D2">test</a>

Bei Link #3 gibts dann einen 404 Error, weil er es als Dateiname erkennt, nicht als Teil der URI.
 
Zurück