Suchergebniss mit CSS hervorheben

Gross/Kleischreibung kannst du mit
str_ireplace unterscheiden.

Ich würde allerdings an deiner Stelle mit Regular Expressions Versuchen -> preg_replace .)
 
Ich hab das ganze nunmal mit str_ireplace() gemacht. Jedoch bekomm ich dann den Fehler hier: Fatal error: Call to undefined function: str_ireplace() in /server/www/suche/output.php on line 12

Line 12 sieht so aus:
Code:
$nachname = str_ireplace($search, "<span class='result'>".$search."</span>", $zeile->nachname);

Mit str_replace() funktioniert alles ohne Probleme


edit: oh ich seh das ich nur php4 aufm server habe :-/



edit2: also ich habe das nun mit eregi_replace gemacht. Dies Funktioniert...jedoch möchte ich nur das die Sucheingabe hinterlegt wird mit einer Farbe und nicht das dann auch die groß, bzw. kleinschreibung geändert wird... gibts da eine Möglichkeit ?
 
Zuletzt bearbeitet:
Mein Problem ist das ich in PHP noch nicht so bewandert bin das ich das wirklich verstehe.
Besonders :
Code:
   echo preg_replace('/\b('.join('|', array_map('preg_quote', $searchterms)).')\b/ise', 'foobar("\\1", $searchterms)', $string);
wozu das /ise usw. usw. ?


edit:
Fatal error: Cannot redeclare result() (previously declared in /server/www/suche/output.php:10) in /server/www/suche/output.php on line 10

result is das bei dir benutzte foobar!

das kommt dabei rum wenn ich das umsetze was du geschrieben hast.
 
Zuletzt bearbeitet:
Also ich habe es nun folgender maßen gelöst :

Code:
$nachname = preg_replace('/\w*'  .preg_quote($search). '\w*/i', '<span class="result">$0</span>', $zeile->nachname);

genauso und nicht mehr wird benötigt ;)
 
Die Fehlermeldung besagt, dass eine bereits deklarierte Funktion (result()) in einer weiteren Instanz erneut zu deklarieren versucht wird. Jede Funktion darf nur einmal deklariert werden.

Zu deiner anderen Frage: ise entspricht den Modifikatoren „ignore case“, „single line“ sowie dem PHP-spezifischen „execute“-Modifikator.
 
Zurück