Hier ist mein Arbeitscode:Suchen arabische Buchstaben in arabischen Worten
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/>
</head>
<body>
<?php
$arabic = "صحيفة اسبوعية مستقلة شاملة تتابع الاخبار فى المنطقة العربية";
$french = "que voulez vous dire?";
if (isset($_POST['search'])) {
$search = $_POST['search'];
$key = $_POST['key'];
$td = substr_count($arabic, $key);
echo $td;
}
echo "<br />" . $arabic;
function count_occurences($char_string, $haystack, $case_sensitive = true) {
if ($case_sensitive === false) {
$char_string = strtolower($char_string);
$haystack = strtolower($haystack);
}
$characters = preg_split('//u', $char_string, -1, PREG_SPLIT_NO_EMPTY);
//$characters = str_split($char_string);
$character_count = 0;
foreach ($characters as $character) {
$character_count = $character_count + substr_count($haystack, $character);
}
return $character_count;
}
?>
<form name="input" action="" method="post">
<input type= "text" name="key" value=""/>
<input type ="submit" name="search" value =" find it !"/>
</form>
</body>
</html>
Für die $french
es funktioniert gut, aber mit $arabic
nicht. Natürlich gibt es keinen Fehler, aber wenn ich zum Beispiel ح
eingeben, um nach diesem Buchstaben zu suchen, zeigt es immer 0
für jeden Buchstaben an, den ich gebe.
Gibt es etwas falsch? Oder vermisse ich etwas mit Arabisch? Ich weiß nicht warum in $french
funktioniert gut, wenn ich v
eingeben zeigt es 2
im Ergebnis.
vielleicht ist es mit uf8_encode kodiert, und dem Hinzufügen der Zeichensatz? überprüfen Sie, ob diese Antwort http://stackoverflow.com/questions/2309496/php-print-arabic-string –