Ben bir utf8 karakter ile Norveç karakterleri ile bir dizi karşılaştırarak bazı sorunlar var.
Özel Norveç karakterler (Æ, Ø å) hariç tüm karakterler çalışıyor.
function isNorwegianChar($Char)
{
$aNorwegianChars = array('a', 'A', 'b', 'B', 'c', 'C', 'd', 'D', 'e', 'E', 'f', 'F', 'g', 'G', 'h', 'H', 'i', 'I', 'j', 'J', 'k', 'K', 'l', 'L', 'm', 'M', 'n', 'N', 'o', 'O', 'p', 'P', 'q', 'Q', 'r', 'R', 's', 'S', 't', 'T', 'u', 'U', 'v', 'V', 'w', 'W', 'x', 'X', 'y', 'Y', 'z', 'Z', 'æ', 'Æ', 'ø', 'Ø', 'å', 'Å', '=', '(', ')', ' ', '-');
$iArrayLength = count($aNorwegianChars);
for($iCount = 0; $iCount < $iArrayLength; $iCount++)
{
if($aNorwegianChars[$iCount] == $Char)
{
return true;
}
}
return false;
}
Herkes pleas bana bildirin ne yapabileceğiniz hakkında herhangi bir fikir varsa.
Update:
Bu ihtiyacı için neden bir sözlük gibi Norveç ve Çin kelimelerle satırları içeren bir metin dosyasını ayrıştırmak çalışıyorum olmasıdır. Ben dizeleri için çizgi, Norveç sözcüğü ve Çince içeren birini içeren bir bölmek istiyorum. Bu daha sonra bir veritabanına eklenecektir. Örnek hatları:
impulsif 形 冲动 的
imøtegå 动 反对, 反驳
imøtekomme 动 符合
alkoholmisbruk (er) 名 滥用 酒精 (名 滥用 酒精 的 人)
alkoholpåvirket 形 受 酒精 影响 的
alkotest 名 呼吸 性 酒精 测试
alkymi (st) 名 炼金术 (名 炼金术 士)
tüm alt, alle, 形 全部, 所有
Eğer kelimeler arasında boşluk olabileceğini görebileceğiniz gibi ben gibi Çin ve Norveç kelimeler arasında bölünmüş patlayabilir kolay bir şey kullanamazsınız. Ne yapmam ben dizide olmayan bir karakter bulana kadar hattı üzerinden isNorwegianChar ve döngü kullanmaktır.
Sorun æ, ø ve å Norveçli bir karakter olarak iade edilmez ve Çince kelime başladığını düşünüyorum.
İşte kod:
//Open file.
$rFile = fopen("norsk-kinesisk.txt", "r");
// Loop through the file.
$Count = 0;
while(!feof($rFile))
{
if(40== $Count)
{
break;
}
$sLine = fgets($rFile);
if(0 == $Count)
{
$sLine = mb_substr($sLine, 3);
}
$iLineLength = strlen($sLine);
$bChineseHasStarted = false;
$sNorwegianWord = '';
$sChineseWord = '';
for($iCount2 = 0; $iCount2 < $iLineLength; $iCount2++)
{
$char = mb_substr($sLine, $iCount2, 1);
if(($bChineseHasStarted === false) && (false == isNorwegianChar($char)))
{
$bChineseHasStarted = true;
}
if(false === $bChineseHasStarted)
{
$sNorwegianWord .= $char;
}
else
{
$sChineseWord .= $char;
}
//echo $char;
}
$sNorwegianWord = trim($sNorwegianWord);
$sChineseWord = trim($sChineseWord);
$Count++;
}
fclose($rFile);