power-box.de
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 03.11.2002, 12:52   #1
TP-Veteran
 
Benutzerbild von steff
 
Registriert seit: Mar 2001
Ort: wein4tel (ö)
steff ist auf einem guten Weg

[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
steff ist offline   Mit Zitat antworten


Alt 03.11.2002, 12:58   #2
TP-Greis
 
Benutzerbild von Lars
 
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
Lars bringt sich richtig ein
RegExp:

PHP-Code:
$ergebnis = @eregi_replace(' ('.preg_quote($suchwort).') '," <b>\\1</b> ",$ergebnis); 
__________________
Give up yourself into the moment — The time is now.
Lars ist offline   Mit Zitat antworten
Alt 03.11.2002, 13:26   #3
TP-Veteran
 
Benutzerbild von steff
 
Registriert seit: Mar 2001
Ort: wein4tel (ö)
steff ist auf einem guten Weg
funktioniert nicht ganz - das wort wird nicht fettgeschrieben...
steff ist offline   Mit Zitat antworten
Alt 03.11.2002, 13:30   #4
TP-Greis
 
Benutzerbild von Lars
 
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
Lars bringt sich richtig ein
Huch? Was macht er denn im Quelltext der Ausgabe?
__________________
Give up yourself into the moment — The time is now.
Lars ist offline   Mit Zitat antworten
Alt 03.11.2002, 13:36   #5
TP-Veteran
 
Benutzerbild von steff
 
Registriert seit: Mar 2001
Ort: wein4tel (ö)
steff ist auf einem guten Weg
hi, lars,

er (wer auch immer ) macht gar nix, sprich, es passiert dasselbe wie ohne eregi_replace.
steff ist offline   Mit Zitat antworten
Alt 03.11.2002, 13:39   #6
TP-Greis
 
Benutzerbild von Lars
 
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
Lars bringt sich richtig ein
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.
Lars ist offline   Mit Zitat antworten
Alt 03.11.2002, 13:45   #7
TP-Veteran
 
Benutzerbild von steff
 
Registriert seit: Mar 2001
Ort: wein4tel (ö)
steff ist auf einem guten Weg
zu beanstanden hat er/sie/es gar nix, es wird nur nicht fettgeschrieben - <b></b> fehlt im quelltext
steff ist offline   Mit Zitat antworten
Alt 03.11.2002, 13:52   #8
TP-Greis
 
Benutzerbild von Lars
 
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
Lars bringt sich richtig ein
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.
Lars ist offline   Mit Zitat antworten
Alt 03.11.2002, 15:08   #9
TP-Veteran
 
Benutzerbild von steff
 
Registriert seit: Mar 2001
Ort: wein4tel (ö)
steff ist auf einem guten Weg
irgendwo gibts noch einen haken ...
das suchwort wird einfach nicht fettgeschrieben.

Geändert von steff (03.11.2002 um 20:44 Uhr).
steff ist offline   Mit Zitat antworten
Alt 07.11.2002, 08:59   #10
TP-Veteran
 
Benutzerbild von steff
 
Registriert seit: Mar 2001
Ort: wein4tel (ö)
steff ist auf einem guten Weg
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
steff ist offline   Mit Zitat antworten
Alt 07.11.2002, 12:04   #11
TP-Greis
 
Benutzerbild von Lars
 
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
Lars bringt sich richtig ein
Zu meiner Rechtfertigung: Bei mir klappt's auch mit den Leerzeichen, jawoll.
__________________
Give up yourself into the moment — The time is now.
Lars ist offline   Mit Zitat antworten
Alt 07.11.2002, 12:33   #12
TP-Veteran
 
Benutzerbild von steff
 
Registriert seit: Mar 2001
Ort: wein4tel (ö)
steff ist auf einem guten Weg
keine rechtfertigung notwendig, lars
steff ist offline   Mit Zitat antworten
Alt 24.01.2003, 12:29   #13
TP-Senior
 
Benutzerbild von Lou.Cipher
 
Registriert seit: Jun 2001
Ort: Dortmund
Lou.Cipher macht alles soweit korrekt

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>"
;

Lou.Cipher ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
[php] highlighting [php] highlighting
« ich weiß mir keinen Rat... | Suche Community Script war: Hiilfe »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
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


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:02 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67