Hallo
Mein php-Block zum Ersetzen des BBcodes einer Forumssoftware lautet
$message = preg_replace("/\[img\](.*?)\[\/img\]/si", "<!-- BBCode Start --><IMG SRC=\"\\1\" BORDER=\"0\"><!-- BBCode End -->", $message);
Ich möchte gern diese Funktion derart abändern das IMG in SRC nur dann umgewandelt wird wenn innerhalb des IMG Befehls ein forgegebener Wert steht.
Beispiel:
steht in $message z.B. freigegeben
[I M G]http://www.freigegebene-Domain.de/bild.jpg[/I M G]
dann soll das Bild angezeigt werden
ansonsten soll eine Fehlermeldung ausgegeben werden.
In Etwa so, was aber nicht funktioniert:
if (preg_match('/[^freigegeben]/i',$message)){
$message = preg_replace("/\[img\](.*?)\[\/img\]/si", "<!-- BBCode Start --><IMG SRC=\"\\1\" BORDER=\"0 \"><!-- BBCode End -->", $message);
}else{
print "Error";
}
Was funktioniert ist:
if(eregi ("freigegeben", $message)) {
$message = preg_replace("/\[img\](.*?)\[\/img\]/si", "<!-- BBCode Start --><IMG SRC=\"\\1\" BORDER=\"0\"><!-- BBCode End -->", $message);
}
else {
print "Error";
}
Leider ist dann aber wieder jede IMG Einbindung möglich wenn "freigegeben" in $message vorkommt.
Also muss überprüft werden ob "freigegeben" zwischen
IMG ung /IMG steht wenn ja dann Bild anzeigen wenn nein dann Fehlermeldung.
Ist sowas möglich?
Für Eure Hilfe wäre ich sehr dankbar
Gruß hoefti
Mein php-Block zum Ersetzen des BBcodes einer Forumssoftware lautet
$message = preg_replace("/\[img\](.*?)\[\/img\]/si", "<!-- BBCode Start --><IMG SRC=\"\\1\" BORDER=\"0\"><!-- BBCode End -->", $message);
Ich möchte gern diese Funktion derart abändern das IMG in SRC nur dann umgewandelt wird wenn innerhalb des IMG Befehls ein forgegebener Wert steht.
Beispiel:
steht in $message z.B. freigegeben
[I M G]http://www.freigegebene-Domain.de/bild.jpg[/I M G]
dann soll das Bild angezeigt werden
ansonsten soll eine Fehlermeldung ausgegeben werden.
In Etwa so, was aber nicht funktioniert:
if (preg_match('/[^freigegeben]/i',$message)){
$message = preg_replace("/\[img\](.*?)\[\/img\]/si", "<!-- BBCode Start --><IMG SRC=\"\\1\" BORDER=\"0 \"><!-- BBCode End -->", $message);
}else{
print "Error";
}
Was funktioniert ist:
if(eregi ("freigegeben", $message)) {
$message = preg_replace("/\[img\](.*?)\[\/img\]/si", "<!-- BBCode Start --><IMG SRC=\"\\1\" BORDER=\"0\"><!-- BBCode End -->", $message);
}
else {
print "Error";
}
Leider ist dann aber wieder jede IMG Einbindung möglich wenn "freigegeben" in $message vorkommt.
Also muss überprüft werden ob "freigegeben" zwischen
IMG ung /IMG steht wenn ja dann Bild anzeigen wenn nein dann Fehlermeldung.
Ist sowas möglich?
Für Eure Hilfe wäre ich sehr dankbar
Gruß hoefti
Kommentar