bestimmte Wörter verlängern, Optimierung

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Xwitz hat geschrieben:

Code: Alles auswählen

$str = preg_replace("/(wort)/i","$1.$lang",$str);
Würde hier ein großes "Wort" zwar gefunden aber durch ein kleines ersetzt werden oder bezieht sich die Backreference auf den im Text gefundenen String?
Ausprobieren, im Moment bin ich mir ehrlich gesagt auch nicht mehr sicher. :oops:

Auf jeden Fall könntest du es dann so lösen, wie es das phpBB mit dem Highlight von Suchwörtern macht:

Code: Alles auswählen

preg_replace('#(' . preg_quote(implode('|', $kurze_woerter), '#') . ')#i', "\1$lang", $text);
Das geht allerdings nur, wenn \1 den gefundenen Begriff mit Groß- und Kleinschreibung enthält.
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Xwitz
Mitglied
Beiträge: 1104
Registriert: 21.06.2005 21:41

Beitrag von Xwitz »

Selber testen? Und das schöne Stück Fleisch wegnehmen? Das ist doch fast so schlimm wie google zu benutzen und die Lösung selbst zu finden. :wink: Oder war es Dir zu einfach Ambience?

Code: Alles auswählen

<?php
$str = 'Wer hat das Wort ersetzt?';

$lang = 'rofl';

$str = preg_replace("/(wer)/i","$1$lang",$str); //ohne Punkt nach $1

echo $str;
?>
Gibt "Werrofl hat das Wort ersetzt?" aus. JUCHU

Danke euch beiden.
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

So, und jetzt teste mal "Werbung". :P Sprich: Du musst das ganze noch irgendwie begrenzen, z.B. so, wie ich es vorher gemacht habe:

Code: Alles auswählen

preg_replace("/[^a-zäöüß](wer)[^a-zäöüß]/i","$1$lang",$str);
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Xwitz
Mitglied
Beiträge: 1104
Registriert: 21.06.2005 21:41

Beitrag von Xwitz »

S2B hat geschrieben:So, und jetzt teste mal "Werbung". :P
Den Effekt kenne ich schon. Nachteil: erhöhter Speicherbedarf

Macht das [^a-zäöüß] besser [^a-zÄÖÜäöüß] die Sache aber nicht wieder um einiges langsamer? Edit: *gestrichen* /Edit

PS: Was muß man innerhalb von Klassen eigentlich alles escapen?
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Xwitz hat geschrieben:PS: Was muß man innerhalb von Klassen eigentlich alles escapen?
Was mir spontan einfällt: ], dein Delimiter (Trennsymbol, in diesem Fall #), " bzw. ' (=> wie in einem normalen String). Außerdem darf - imho nur als erstes Zeichen der Klasse stehen, sonst wird es als "bis" interpretiert.
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Antworten

Zurück zu „Coding & Technik“