Webstatt.org - Community seit 2006 - 2012 (2024?)

Beim durchsuchen teile ignorieren

user-137
01.07.2006 12: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

user-140
01.07.2006 13:16

Also mit if und preg_match
oder
mit preg_replace

suchsyntax sieht so aus

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

Avatar user-271
01.07.2006 13:50

Original von user-140
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

#!/bin/bash
traurig){ neutral:& };:
user-137
01.07.2006 14:02

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

user-137
04.07.2006 16:13

Kann keiner helfen??