Mein Suchmuster ist ja einfach nur $q
Jein, du willst zwar "$q" finden, aber dein Suchmuster muss natürlich ein regulärer Ausdruck (Perl-Kompatible sein).
Wenn ich das einschließen will, ist dann mein $ersetzen = '<b>\1</b>' ?
Ja.
Dein Suchbegriff ist ein String und sieht so aus
"foo" oder "bar"
Das Suchmuster ist ebenfalls ein String - wenn du also nach "foo" suchen willst, sieht das so aus:
Du brauchst Begrenzer für deinen String - z.B. '' (Single quoted).
Weiters brauchst du Begrenzer für den Ausdruck - z.B. //
Nach den begrenzern Brauchst du Modifikatoren - z.B. i (case-insensitive) und U (nicht gierig)
Zusammengebaut sieht das so aus:
$ausdruck = '//iU'
Zwischen den Begrenzern des Ausdrucks kannst du nun das eigentliche Suchmuster einfügen - z.B. einfach nur "foo" um wörtlich nach "foo" zu suchen.
'/foo/iU'
Oder aber du erzeugst ein Untermuster ()
und gibst dort mehrere Möglichkeiten an (durch Pipes getrennt)
'/(foo|bar)/iU'
Deine Pipegetrennte-Liste an Wörtern kannst du dir z.B. per Implode zusammenbauen.