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

regex

Avatar user-180
11.04.2007 17: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?

may the force be with you. but mostly with me.
user-157
11.04.2007 17:08

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

?

asdf!
Avatar user-180
11.04.2007 17:10

wie baut man den spass in die funktion ein?

may the force be with you. but mostly with me.
Avatar user-271
11.04.2007 18:06

das ist bloss so schnell hingeschmissen...keien ahnugn obs funktioniert Fettes Grinsen

<?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="zwinkern/i',$text[$i])) {
$check = false;
} else {
$text[$i] = preg_replace('/($suchwort)/i',"<span class=\"suchwort\">\\1</span>",$text[$i]);
}
} else {
if(preg_match('/(?:<\/a>|\/>|"zwinkern/i',$text[$i])) {
$check = true;
}
}
}
}
return implode(' ',$text);
}
?>

#!/bin/bash
traurig){ neutral:& };:
Avatar user-180
11.04.2007 20:36

funzt. danke.

may the force be with you. but mostly with me.
Avatar user-271
11.04.2007 20:37

Original von user-180
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 Fettes Grinsen

#!/bin/bash
traurig){ neutral:& };: