php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.03.2005, 10:34  
Gast
 
Beiträge: n/a
Standard Wörter in Wörter nicht highlighten

Hallo Forum!

Ich habe folgendes Problem und keine Ahnung wie ich es Lösen soll:
Es geht darum das Bestimmte Wörter innerhalb einer HTML Seite gehighlighted und mit Tooltips versehen sollen.
Die Wörter und Tooltiptexte sind im Array $t_terms.
Das klappt auch eigentlich ganz gut, bis auf eine kleine Sache.

Wenn z.B. xml gehighlighted wird und im HTML Code kommt simplexml vor, dann hightlighted er mir das xml in simplexml, was allerdings nicht erwünscht ist. Wie kann ich das ändern?

Hier der Code:
PHP-Code:
<?php
//Funktion die Wörter mit Tool Tips highlightet:
function highlight_str($post,$str,$title,$url
{
    
$post preg_replace("/((<[^>]*)|".quotemeta($str).")/ie"'"\2"=="\1"? "\1":"<a class=\"textlink\" href=\"'.$url.'\" style=\"border-bottom:1px orange dotted;cursor:help;\" title=\"'.$title.'\">\1</a>"'$post);
    return 
$post;
    
}

$t_terms = Array();
//ARRAY MIT ZU ERSEZENDEN WÖRTERN
$t_terms['php']['description'] = "Programmiersprache, die auf dem Server eine Website generiert";
$t_terms['php']['url'] = "http://www.php.net";
$t_terms['xhtml']['description'] = "Auszeichnungssprache, Im Gegensatz zu HTML, XML komform";
$t_terms["html"]['description'] = "Auszeichnungssprache, Zielformat einer Website";
$t_terms["w3c"]['description'] = "Wold Wide Web Consortium, Gremium zum entwickeln von Web Standards";
$t_terms["wcag"]['description'] = "Empfehlung des w3c zur uneingeschränkten Nutzung von Internetseiten";
//[...]
$t_terms["xml"]['description'] = "Auszeichnungssprache, zur strukturierten Beschreibung von Daten";
/
/ARRAY 
WIRD DURCHLAUFEN und $mydoc wird gehighligted:

foreach(
$t_terms as $key => $value)
{
    if(
$t_terms[$key]['url'] == ""){$t_terms[$key]['url'] = "#";}
    
$mydoc highlight_str($mydoc,$key,$t_terms[$key]['description'],$t_terms[$key]['url']);


?>
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 29.03.2005, 10:41  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

Mal ins Blaue:

Damit er nur Ganze Wörter findet, muss dem Pattern um das Wort herum angewiesen werden, dass NonWordCharakter ( \W) oder WhiteSpaces (\s) vorhanden sein sollen ...
Guradia ist offline  
Alt 29.03.2005, 10:41  
Gast
 
Beiträge: n/a
Standard

Hallo!
Was, wenn du einfach vor und hinter die gewünschten Wörter bei der if-abfrage ein whitespace einfügst?

Da wäre natürlich ein Problem, wenn irgendwo "xml-sprache" zum Beispiel stehen würde, weil er das dann nicht ersetzt...

EDIT: mist, da war jemand schneller
 
Alt 29.03.2005, 10:44  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard

Du suchst \b: word boundary aka Wortgrenze:
http://de3.php.net/manual/de/referen...ern.syntax.php
Vor- und Hinter das Suchmuster setzen.

PS: Wortgrenzen sind Übergänge von einem NonWordCharacters zu einem WordCharacter, also prinzipiell dasselbe was Guradia vorgeschlagen hat, nur eleganter.
__________________
mod = master of disaster
Waq ist offline  
Alt 29.03.2005, 13:59  
Gast
 
Beiträge: n/a
Standard

Ok das Klappt wunderbar! Danke!
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Tabellenzeilen bei onmouseover highlighten Zergling-new Tutorials 14 23.04.2008 14:28
htmlcode highlighten N!cKY PHP-Fortgeschrittene 16 25.09.2005 11:57
[Erledigt] php code highlighten PHP-Fortgeschrittene 6 10.05.2005 18:36
Wörter highlighten, wenn man sie aus der Datenbank ausliest Jojo1 PHP Tipps 2005 5 04.04.2005 20:15
highlighten im [code][/code] bereich PHP Tipps 2005 5 09.02.2005 17:59
inhalt in bbcode [code][/code] highlighten lassen, wie? PHP Tipps 2004 5 28.10.2004 21:53
[Erledigt] Code highlighten PHP Tipps 2004 5 29.09.2004 14:40
[REGEX] Suchergebnis highlighten PHP Tipps 2004 8 04.07.2004 19:17

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
highlight_str($post,$str php

Alle Zeitangaben in WEZ +1. Es ist jetzt 13:11 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.