 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
03.11.2002, 12:52
|
#1
|
|
TP-Veteran
Registriert seit: Mar 2001
Ort: wein4tel (ö)
|
[php] highlighting
hallo, leute,
ich hab auf einer seite die möglichkeit mittels formular eine datenbank zu durchsuchen.
bei der suche wird nicht nach groß- und kleinschreibung unterschieden (SELECT * ..... WHERE text like '%wort%').
nun möchte ich in den suchergebnissen das gesuchte wort hervorheben (<b></b>) - egal ob es in den suchergebnissen groß oder klein geschrieben wurde.
ich habs mal so versucht:
PHP-Code:
$ergebnis = eregi_replace($suchwort, "<b>$suchwort</b>", $ergebnis);
leider wird damit das suchergebnis verfälscht, da die übereinstimmungen durch das suchwort an sich ersetzt werden.
d.h., geb ich das suchwort klein geschrieben ein, werden im suchergebnis alles groß geschriebenen übereinstimmungen nun auch klein geschrieben.
wie kann ich das umgehen?
ich hoffe, ich habs nicht zu kompliziert beschrieben
cu
steff
|
|
|
03.11.2002, 12:58
|
#2
|
|
TP-Greis
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
|
RegExp:
PHP-Code:
$ergebnis = @eregi_replace(' ('.preg_quote($suchwort).') '," <b>\\1</b> ",$ergebnis);
__________________
Give up yourself into the moment — The time is now.
|
|
|
03.11.2002, 13:26
|
#3
|
|
TP-Veteran
Registriert seit: Mar 2001
Ort: wein4tel (ö)
|
funktioniert nicht ganz - das wort wird nicht fettgeschrieben...
|
|
|
03.11.2002, 13:30
|
#4
|
|
TP-Greis
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
|
Huch? Was macht er denn im Quelltext der Ausgabe?
__________________
Give up yourself into the moment — The time is now.
|
|
|
03.11.2002, 13:36
|
#5
|
|
TP-Veteran
Registriert seit: Mar 2001
Ort: wein4tel (ö)
|
hi, lars,
er (wer auch immer  ) macht gar nix, sprich, es passiert dasselbe wie ohne eregi_replace.
|
|
|
03.11.2002, 13:39
|
#6
|
|
TP-Greis
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
|
Dann nimm ihm (dem Geheimnissvollen) mal das "@" weg und schau', was er zu beanstanden hat. 
__________________
Give up yourself into the moment — The time is now.
|
|
|
03.11.2002, 13:45
|
#7
|
|
TP-Veteran
Registriert seit: Mar 2001
Ort: wein4tel (ö)
|
zu beanstanden hat er/sie/es gar nix, es wird nur nicht fettgeschrieben - <b></b> fehlt im quelltext
|
|
|
03.11.2002, 13:52
|
#8
|
|
TP-Greis
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
|
Ups, ist auch keine Wunder:
PHP-Code:
$ergebnis = @eregi_replace(' ('.preg_quote($suchwort).') '," <b>\\1</b> ",$ergebnis);
// Vor die 1 müssen zwei Slashes,
// das Form klaut aber immer einen
__________________
Give up yourself into the moment — The time is now.
|
|
|
03.11.2002, 15:08
|
#9
|
|
TP-Veteran
Registriert seit: Mar 2001
Ort: wein4tel (ö)
|
irgendwo gibts noch einen haken ...
das suchwort wird einfach nicht fettgeschrieben.
Geändert von steff (03.11.2002 um 20:44 Uhr).
|
|
|
07.11.2002, 08:59
|
#10
|
|
TP-Veteran
Registriert seit: Mar 2001
Ort: wein4tel (ö)
|
so, hatte jetzt wieder zeit an meine problemchen zu feilen - und nun klappts.
lars' lösung stimmt im grunde genommen, nur musste ich die leerzeichen entfernen:
PHP-Code:
$ergebnis = @eregi_replace('('.preg_quote($suchwort).')',"<b>\\1</b>",$ergebnis);
// Vor die 1 müssen zwei Slashes,
// das Form klaut aber immer einen
nur zur klärung, falls das thema mal in einen suchergebnis auftaucht
steff
|
|
|
07.11.2002, 12:04
|
#11
|
|
TP-Greis
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
|
Zu meiner Rechtfertigung: Bei mir klappt's auch mit den Leerzeichen, jawoll. 
__________________
Give up yourself into the moment — The time is now.
|
|
|
07.11.2002, 12:33
|
#12
|
|
TP-Veteran
Registriert seit: Mar 2001
Ort: wein4tel (ö)
|
keine rechtfertigung notwendig, lars 
|
|
|
24.01.2003, 12:29
|
#13
|
|
TP-Senior
Registriert seit: Jun 2001
Ort: Dortmund
|
kann mir auch noch einer helfen?
Wie kann ich das ganze hier einbauen?
Das ist die Vorschau der Suchergebnisse meines Scriptes und da hätte ich das auch gerne fett ider farbig hervorgehoben.
PHP-Code:
$result = "SELECT * FROM $db_products WHERE prod_name OR prod_note LIKE '%$suchfeld%' ORDER BY prod_name ASC LIMIT $start,$limit";
$query = mysql_query($result);
$resultID = @mysql_query("SELECT COUNT(ID) FROM $db_products WHERE prod_name OR prod_note LIKE '%$suchfeld%'");
$total_hits = @mysql_result($resultID,0);
$seitenanzahl = ceil($total_hits/$limit);
echo "<b> Suchergebnisse</b><br><br>
Die Suche nach \"<i>$suchfeld</i>\" ergab $total_hits Treffer auf $seitenanzahl Seite(n).<br>
<table cellpadding=3 width=100% cellspacing=1 border=0 bgcolor=#CFCFCF>";
if ($total_hits < 1)
{echo "<tr><td colspan=3 bgcolor=#fcfcfc>Es konnte(n) kein(e) Artikel gefunden werden.</td></tr>";}
while($a = mysql_fetch_array($query))
{
if ($a[prod_img_file] != '')
{ $bild = "<a href=\"index.php?page=detail&id=$a[id]\">
<img src=\"$base_prod_img$a[prod_img_file]\" alt=\"$a[prod_img_alt]\" border=0></a>";
}
else
{
$bild = "n/a";
}
$msg = substr("$a[prod_note]","0","80");
echo" <tr><td colspan=3 bgcolor=#fcfcfc><font color=#993333><b>$a[prod_name]</b></font></td></tr>
<tr><td bgcolor=#ececec align=center width=50>$bild</td>
<td bgcolor=#ffffff width=350 valign=top> <p><b>Beschreibung:</b>$ergebnis $msg <a href=\"index.php?page=detail&id=$a[id]\">[Details]</a></p></td>
<td bgcolor=#ffffff valign=top>
<b>Preis: <font color=#993333>$a[prod_price]</font></b><br>
<b>Menge:</b> $a[prod_pieces]<br> </td>
</tr>";
}
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| 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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 23:02 Uhr.
|
 |