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
Also mit if und preg_match
oder
mit preg_replace
suchsyntax sieht so aus
"/<(.*)?>/i"
Quote
Original von xyz-30
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
Leider wir dan nichts markiert und der text ist dan Kursiv Bold alles!
Obwohl noch nichts gesucht wurde!
Kann keiner helfen??