Einzelnen Beitrag anzeigen
  #10 (permalink)  
Alt 18-05-2012, 23:43
Benutzerbild von fireweasel fireweasel
 Registrierter Benutzer
Links : Onlinestatus : fireweasel ist offline
Registriert seit: Sep 2008
Ort: At home
Beiträge: 851
fireweasel wird schon bald berühmt werdenfireweasel wird schon bald berühmt werden
fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zitat von unknownsoul Beitrag anzeigen
Hallo zusammen,

folgender Code funktioniert nicht, sobald Umlaute oder Sonderzeichen wie ß usw. im Suchwort enthalten sind:

PHP-Code:
$suchwort="Test";
if (
preg_match("/\b".$suchwort."\b/i""Das hier ist eine Test zum Testen der Sache.")) {
   echo 
"Es wurde 1 Übereinstimmung gefunden.";
} else {
   echo 
"Keine Übereinstimmung";

Hat jemand eine Lösung parat?
Bau dir die Wortgrenzen selbst: "Nichtwortzeichen"-Assertion + Suchbegriff + "Nichtwortzeichen"-Assertion. Es gibt dafür entsprechende Unicode-Klassen.

Die Assertion "\b" ist eine wenig brauchbare Altlast aus Pre-Unicode-Zeiten. Sie funktioniert nur im ASCII-Bereich oder in der jeweils eingestellten Codepage. Falls man das per setlocale() überhaupt sauber hinbekommt.

*korinthenkack* ... und das ß ist kein "Sonderzeichen", sondern[sic!] ein gewöhnlicher Buchstabe. Zumindest heutzutage. Früher war es ja mal eine Ligatur. Aber ich schweife ab ...