HTML-Contentfragmente einbinden

Bei der Erstellung von Webseiten kommt man nicht umher auch ab und an etwas Content einzubinden. Via PHP löst man soetwas gerne mit der include()-Funktion. Was ja auch gar nicht so schlecht ist, wenn in den Dateien auch PHP-Funktionalität gebraucht wird. Wenn nun jedoch einfach nur HTML eingebunden werden soll, kann man dies mit folgender Funktion recht einfach und Übersichtlich gestalten.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
function showContent($fragment) {
    $base_url       = 'inc/content/';    // Hier den Pfad zu den HTML-Datein
    $content        = trim(file_get_contents($base_url . $fragment . '.html'));
    if(strlen($content) > 0) {
        $content    = mb_convert_encoding($content, 'UTF-8', mb_detect_encoding($content, 'auto', true));

        echo "\n\n" . '<!-- Beginn Fragment: ' . $fragment . ' -->' . "\n";
        echo $content . "\n";
        echo '<!-- Ende Fragment: ' . $fragment . ' -->' . "\n\n";
    } else {
        echo '<!-- Fragment: ' . $fragment . ' could not loaded -->' . "\n";
    }
}
?>

Und dann eigentlich nur noch in der index.php die Aufrufe an die richtige Stelle setzen.

1
2
3
<?php
showContent('navigation');
?>

Hier wird nun eine Datei mit dem Namen navigation.html im Ordner inc/content/ erwartet. Ist diese nicht vorhanden, so wird sie einfach nicht eingebunden. Es wird keine Fehlermeldung ausgegeben, wie es bei include(); der Fall ist.

Tipp:
Auf diese Art und Weise kann man auch HTML von anderen Servern einbinden. Dazu muss man nur die Funktion etwas umändern. Aber da immer auf das Copyright achten, daher werde ich hier nicht die nötigen Änderungen aufzeigen.

Werbung

iPhone 4 Case Aquatus

Über H.-Peter Pfeufer

Ich bin Webentwickler/ -programmierer aus Leidenschaft, WordPressbegeistert und ab und an auch mal ein netter Mensch.
Vor allen schreibe ich über alles was mit den Themen Webentwicklung/ -programmierung und WordPress zu tun hat. Nebenher auch mal einige Gedanken zu allgemeineren Themen.

Kategorie(n): PHP
Tags: , ,
Setze ein Lesezeichen auf den Permalink.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

 

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>