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, ...
Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.