Willkommen in der Webstatt Zum Webstatt Blog und Stories
fish fish am 11.04.07 19:04

hallo. ich bin nicht so der regexmeister, deswegen frage ich hier mal nach.

also: ich habe hier eine markierungsfunktion: <?php
function text_hervorheben($text,$wort) {
$wort = split(" ",$wort);
foreach($wort as $suchwort) {
$text = eregi_replace("$suchwort","<span class=\"suchwort\">\\0</span>",$text);
}
return $text;
}
?>


es soll aber nur ausserhalb von <a > und <img und title="" markiert werden werden. wie geht das?

netcup.de Warum gibt es hier Werbung?
crooked am 11.04.07 19:08

Ich hab nicht richtig verstanden, was du meinst.
Wie wärs mit:
"<(a|img|title)>.*</(a|img|title)>"
?

fish fish am 11.04.07 19:10

wie baut man den spass in die funktion ein?

nuit nuit am 11.04.07 20:06

das ist bloss so schnell hingeschmissen...keien ahnugn obs funktioniert :D

<?php
function text_hervorheben($text,$wort) {
$text = split(" ",$text);
$wort = split(" ",$wort);
$check = true;
for($i = 0; $i < count($text); $i++) {
foreach($wort as $suchwort) {
if($check) {
if(preg_match('/(?:<(?:a|img)|title=")/i',$text[$i])) {
$check = false;
} else {
$text[$i] = preg_replace('/($suchwort)/i',"<span class=\"suchwort\">\\1</span>",$text[$i]);
}
} else {
if(preg_match('/(?:<\/a>|\/>|")/i',$text[$i])) {
$check = true;
}
}
}
}
return implode(' ',$text);
}
?>

fish fish am 11.04.07 22:36

funzt. danke.

nuit nuit am 11.04.07 22:37

Quote
Original von fish
funzt. danke.

whou.....manoo...ist das genial *g* war fei komplett ungetestet und alles nur so aus dem gedächtnis gecodet....;D

schön, dass es funktioniert :D

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

Impressum & Kontakt