O'Reilly logo

PHP 5 Kochbuch, Third Edition by Stephan Schmidt, Ulrich Speidel, Matthias Brusdeylins, Carsten Lucke, Adam Trachtenberg, David Sklar

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

13.9 Eine Webseite mit Markup versehen

Problem

Sie möchten eine Webseite, zum Beispiel mit Suchergebnissen, so anzeigen, dass bestimmte Wörter hervorgehoben sind.

Lösung

Verwenden Sie preg_replace( ) mit einem Array aus Mustern und Ersetzungstexten:

$patterns = array('\bHund\b/', '\bKatze\b');
$replacements = array('<b style="color:black;background-color=#FFFF00">Hund</b>',
                      '<b style='color:black;background-color=#FF9900">Katze</b>');
while ($page) {
    if (preg_match('{^([^<]*)?(</?[^>]+?>)?(.*)$}',$page,$matches)) {
        print preg_replace($patterns,$replacements,$matches[1]);
        print $matches[2];
        $page = $matches[3];
    }
}

Diskussion

Der mit preg_match( ) verwendete reguläre Ausdruck findet eine Übereinstimmung mit einem möglichst langen Text vor einem HTML-Tag, ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required