Fred Furunkelstein 2012: Abkürzung für viele gleiche URLs

Beitrag lesen

  1. Gibt es nun eine Möglichkeit (ohne JavaScript - also nur mittels HTML und CSS)
    diese mitunter längeren "href"-URLs nicht in jedem <a>-Tag von neuem voll ausschreiben zu müssen.

Ja, Du wirst Dich aber mit Möglichkeiten Deines Editors beschäftigen müssen (suchen & ersetzen von Platzhaltern!) ODER Deine Webseiten durch Software erzeugen lassen. Deine Anforderungen wären schon mit einem einfachen Template-Skript und PHP zu erfüllen:

Datei: seite.conf.php

<?php  
$TplItems['Link_1']='http://www.example.org/dir/dir/resource?foo=bar';  
$TplItems['Link_2']='http://www.example.org/';  
$TplItems['Datum']=date('d.m.Y');  
$TplItems['Zeit']=date('H:i:s');  
?>

Datei: seite.template.html

<html>  
      <head>  
      </head>  
      <body>  
           <ul>  
                  <li><a href="TPL::Link_1::LPT">Klick!</a></li>  
                  <li><a href="TPL::Link_2::LPT">Klick!</a></li>  
                  <li><a href="TPL::Link_1::LPT">Klick!</a></li>  
           </ul>  
           <p>(Erzeugt am TPL::Datum::LPT um TPL::Zeit::LPT.)</p>  
      </body>  
</html>

Datei: seite.php - diese wäre im Beispiel aufzurufen:

<?php  
require_once 'seite.conf.php';  
$html=file_get_contents('seite.template.html');  
foreach (array_keys($TplItems) as $key) {  
     $html=str_replace("TPL::$key::LPT", $TplItems[$key], $html);  
}  
print $html;  
?>

mit einem Aufruf von "php seite.php" (am Prompt) erhältst Du:

<html>  
	<head>  
	</head>  
        <body>  
             <ul>  
	           <li><a href="http://www.example.org/dir/dir/resource?foo=bar">Klick!</a></li>  
	           <li><a href="http://www.example.org/">Klick!</a></li>  
	           <li><a href="http://www.example.org/dir/dir/resource?foo=bar">Klick!</a></li>  
            </ul>  
            <p>(Erzeugt am 14.11.2012 um 14:39:04.)</p>  
       </body>  
</html>

und mit "php seite.php > seite.html" hast Du es gleich abgespeichert. Das geht auch lokal, wenn Du kein Php auf dem Webserver zur Verfügung hast, übertrage dann nur die erzeugten html-Dateien auf den Webserver.

Natürlich müsstest Du PHP installieren. Das funktioniert in vergleichbarer Weise aber mit praktisch jeder Programmiersprache. Das Beispiel ist bewusst primitiv, es gibt zahlreiche andere, teils sehr ausgefeilte Möglichkeiten.

Fred