![]() |
[PHP] String_replace nur auf ganze Worte anwenden
Hallo,
hab diesmal eine Frage zu der PHP-Funktion "string_replace". Ich habe ein Array mit Worten, die im String X ersetzt werden sollen. Das funktioniert so gut, dass nicht nur die Worte, sondern - logischerweise - die Zeichenfolge gelöscht wird. Hier mal ein Beispiel für meine schlechte Erklärung: Zitat:
Danke |
Re: [PHP] String_replace nur auf ganze Worte anwenden
Du könntest es mit preg_replace() machen.
Code:
Wenn du an das Pattern hinter dem letzten Schrägstrich ein i anhängst, arbeitet die Funktion case-insensitiv.
$s = preg_replace('/(\W)(Haus)(\W)/','$1Baum$3', $s);
|
Re: [PHP] String_replace nur auf ganze Worte anwenden
Gut, dass müsste ich dann für jeden Array-Eintrag machen. Müsste ich bei str_replace aber auch. Was ist denn zu empfehlen? Also, von der GEschindigkeit. AUf die kommt es hier nämlich ganz dramatisch an....
|
Re: [PHP] String_replace nur auf ganze Worte anwenden
Zitat:
|
Re: [PHP] String_replace nur auf ganze Worte anwenden
Zitat:
Kannst du uns vielleicht etwas genauer beschreiben wozu du das brauchst? Soll das eine Art multilanguage-Modul für eine Webanwendung werden? Wie oft soll der Code ausgeführt werden? (Insgesamt nur ein mal / Bei der Installation / Jeden Monat / Bei jedem Request / ...) Liebe Grüße, Valle |
Re: [PHP] String_replace nur auf ganze Worte anwenden
Ich benutze die Funktion, um einen Filter zu erstellen. Ich möchte zwei Strings miteinander vergleichen. Prinzipiell sind beide String sowieso gleich. Nur bei dem einen String sind noch zusätzliche, irrelevante Infos mit drin, die ich rauslöschen möchte um so eine 100%-Übereinstimmung zu erhalten.
Ich werde es so machen, beide Strings in der gefilterten und ungefilterten Version in der Datenbank abzulegen. So wird der Filter nur einmal angewendet und dann nur noch mit JOINS gesucht. Die Suchabfragen werden nur einmalig ausgeführt, da diese Seiten gecached sind. Also bleibe ich bei str_replace und wende meine Idee an, die ich im 1. Post schon hatte. Oder spricht was dagegen? |
Re: [PHP] String_replace nur auf ganze Worte anwenden
Zitat:
Liebe Grüße, Valle |
Re: [PHP] String_replace nur auf ganze Worte anwenden
Ja, ich glaube nicht, dass wir über über einige tausend Einträge nicht drüber kommen, da unsere Daten abhängig von deren Erscheinung sind.
In diesem Fall gibt es keinen Widerspruch, denn die "Infos" sind keine Infos, sondern nur Teilstrings, die in dem eigentlichen String rein garnichts zu suchen haben ;) Dann bedanke ich mich mal wieder und bastel weiter...;) |
Re: [PHP] String_replace nur auf ganze Worte anwenden
Zitat:
|
Re: [PHP] String_replace nur auf ganze Worte anwenden
Zitat:
Liebe Grüße, Valle |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz