Boardunity & Video Forum

Boardunity & Video Forum (https://boardunity.de/)
-   Programmierung und Datenbanken (https://boardunity.de/programmierung-datenbanken-f23.html)
-   -   PHP: Prüfen ob String asiatische Schriftzeichen enthält (https://boardunity.de/php-pr-fen-ob-string-asiatische-schriftzeichen-enth-lt-t6782.html)

Luki 27.05.2009 11:42

PHP: Prüfen ob String asiatische Schriftzeichen enthält
 
Hi Leute,

ich muss bei eine PHP Funktion prüfen ob eine Variable asiatische Schriftzeichen enthält.
strstr oder preg_match kenne ich natürlich, aber wie arbeite ich mit den Zeichen, wenn da z.B: steht:

Yahoo!アクセス解析

freue mich über jeden Tipp!
Lukas

codethief 31.05.2009 02:42

Die Frage dabei ist natürlich, was für einen Zeichensatz du nutzt. Am besten wäre es natürlich, wenn die Variable Zeichen vom selben Zeichensatz wie die PHP-Datei an sich enthält, sodass du die Schriftzeichen einfach als String reinkopieren könntest. Denn eine Escape-Sequenz für UTF-8, wie \uXXXXX, ist mir jetzt nicht bekannt.

Luki 31.05.2009 10:54

ich und mein Editor (Notepad,Ultraedit,PHPDesigner) können sich auf den Kopf stellen :) - auch wenn wir den Zeichensatz auf UTF-8 stellen, keine Chance!

codethief 09.06.2009 02:58

Ich bin mir gerade nicht sicher, aber ich glaube, dass der vollständige UTF-8-Support erst ab PHP 6 gegeben sein wird... (fällt mir gerade so ein ;))

Luki 09.06.2009 12:36

ich hab eine Lösung gefunden :)

Ich habe einfach mal ein paar asiatsche Zeichen mit urldecode gespeichert und checke nun den String darauf, funktioniert bisher sehr zuverlässig :)

PHP-Code:

if (preg_match("#(%E3%82%A2|%E3%82%A4|%E3%83%88|%E3%83%A9|%E3%83%83|%E3%82%AD|%E3%83%B3|%E3%82%B0|%E3%81%8B|%E3%82%89|%E6%A4%9C|%E8%A8%BC|%E3%81%97|%E3%81%9F|%E3%80%81|%E4%BD%BF|%E3%81%84|%E3%82%84|%E3%81%99|%E3%81%84|%E3%83%95|%E3%82%A9|%E3%83%BC|%E3%83%A0|%E3%81%AE|%E3%81%AE|%E3%83%9D|%E3%82%A4|%E3%83%B3|%E3%83%88|%E3%82%B3|%E3%83%AA|%E3%82%B9|%E3%82%A6|%E3%82%A7|%E3%83%96|%E3%81%AE|%E5%8F%8E|%E7%9B%8A|%E5%8C%96|%E3%81%AF|%E4%B8%8D|%E5%8F%AF|%E8%83%BD|%E3%81%AA|%E3%81%AE|%E3%81%8B|%EF%BC%9F|%E3%83%A6|%E3%83%BC|%E3%82%B6|%E3%83%BC|%E3%81%AB|%E3%81%95|%E3%81%95|%E3%81%90|%E4%B8%AD|%E5%9B%BD|%E4%BA%92|%E8%81%94|%E7%BD%91|%E7%AB%99|%E9%9B%86|%E4%BD%93|%E7%BB%B4|%E6%8A%A4)#si"rawurlencode($title)))
{
echo 
"asiatischer ".title//japanisch? chinesisch?




Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 Uhr.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25