birdseedmusic
Administrator
- Registriert
- 13.04.02
- Beiträge
- 7.294
- Reaktionen
- 1.544
- Punkte
- 25.527
Hi!
Also wer nicht weiss was ein regulärer Ausdruck ist, ab besten gar nicht erst durchlesen...
Ich bastel gerade an einem regulären Ausdruck für homerecording.de (unter php, aber die sind ja wohl sprachübergreifend gleich), um dort bestimmte Wörter aus Postings herauszufiltern, welche im Glossar vorkommen, und die automatisch mit den Links zum jeweiligen Glossareintrag zu verbinden. Der erste Versuch lief schief. Momentan hab ich folgendes:
$value = eregi_replace('([^]a-zA-Z0-9])('.$assoc['nom'].')([^[a-zA-Z0-9])','\\1\ . '\]\\2\[/url\]\\3',$value);
($assoc['...'] sind lediglich die Datenbankfelder aus der Glossartabelle..)
Heißt: ein POSIX Ausdruck, der Wörter herausfiltert. Wörter ist für mich alles, was nicht zwischen Buchstaben steht. Dann wird ein String drum rumgepackt. Problem: Damit zerschieß ich auch automatisch alle Links, in denen das Wort zufällig drin vorkommt. Und mit der Methode, dass vor dem Wort keine geschlossenen eckigen Klammern stehen sollen und dahinter keine offenen, funzt auch nur halb. Weil dann Sachen wie:
{url=http://www.blabla.de/myDomain}Der [url=homerecording.de/modules/glossaire/glossaire-comm.php?sid=32]MIDI Sequencer{/url} trotzdem zerschossen werden. Hast jemand ne Idee, wie man das Problem lösen könnte?
gruss
MK[/url]
Also wer nicht weiss was ein regulärer Ausdruck ist, ab besten gar nicht erst durchlesen...
Ich bastel gerade an einem regulären Ausdruck für homerecording.de (unter php, aber die sind ja wohl sprachübergreifend gleich), um dort bestimmte Wörter aus Postings herauszufiltern, welche im Glossar vorkommen, und die automatisch mit den Links zum jeweiligen Glossareintrag zu verbinden. Der erste Versuch lief schief. Momentan hab ich folgendes:
$value = eregi_replace('([^]a-zA-Z0-9])('.$assoc['nom'].')([^[a-zA-Z0-9])','\\1\ . '\]\\2\[/url\]\\3',$value);
($assoc['...'] sind lediglich die Datenbankfelder aus der Glossartabelle..)
Heißt: ein POSIX Ausdruck, der Wörter herausfiltert. Wörter ist für mich alles, was nicht zwischen Buchstaben steht. Dann wird ein String drum rumgepackt. Problem: Damit zerschieß ich auch automatisch alle Links, in denen das Wort zufällig drin vorkommt. Und mit der Methode, dass vor dem Wort keine geschlossenen eckigen Klammern stehen sollen und dahinter keine offenen, funzt auch nur halb. Weil dann Sachen wie:
{url=http://www.blabla.de/myDomain}Der [url=homerecording.de/modules/glossaire/glossaire-comm.php?sid=32]MIDI Sequencer{/url} trotzdem zerschossen werden. Hast jemand ne Idee, wie man das Problem lösen könnte?
gruss
MK[/url]