Willkommen in der Webstatt Zum Webstatt Blog und Stories
BNightSpeeder am 01.07.06 14:57

Hallo,

ich habe eine Frage zu diesem Code:

function highlight_results($post,$str) {
$str = split(" ",$str);
foreach($str as $search_str) {
$post = eregi_replace("$search_str","<font color=yellow>\\0</font>",$post);
}
return $post;
}


u.z. wie kann ich das machen das er alles zwischen < und > ignoriert, und nur das markiert das als ACIS im Code steht?

Mfg. BNS

netcup.de Warum gibt es hier Werbung?
brainnrg am 01.07.06 15:16

Also mit if und preg_match
oder
mit preg_replace

suchsyntax sieht so aus

"/<(.*)?>/i"

nuit nuit am 01.07.06 15:50

Quote
Original von brainnrg
Also mit if und preg_match
oder
mit preg_replace

suchsyntax sieht so aus

"/<(.*)?>/i"

nur mal so am rande...es soll ignoriert werden...bei deinem RegEx muss es zwischen den <> stehn ;D

also mit if kannst du arbeiten...aber es sollte auch einen RegEx dazu geben..irgendwie sowas:
([^<].*?)($such_str)(.*?[^>])

wird ersetzt durch
"\\1<font color=yellow>\\2</font>\\3"

dann sieht das ganze im code aus:
function highlight_results($post,$str) {
$str = split(" ",$str);
foreach($str as $search_str) {
$post = preg_replace("/([^<].*?)($such_str)(.*?[^>])/","\\1<font color=yellow>\\2</font>\\3",$post);
}
return $post;
}


aber ich bin mir mit dem RegEx nicht sicher und es wurde nicht getestet ;D

BNightSpeeder am 01.07.06 16:02

Leider wir dan nichts markiert und der text ist dan Kursiv Bold alles!
Obwohl noch nichts gesucht wurde!

BNightSpeeder am 04.07.06 18:13

Kann keiner helfen??

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt