Я пытаюсь разобрать Laotian
текст с utf8_ireplace
и я получаюНеопределенные зачеты и диакритические знаки
undefined offset notice.
Единственное, что я могу видеть, что есть диакритические знаки. Означает ли это предупреждение? Или может кто-нибудь дать мне понять, почему он всегда будет лаосским (из 6 языков, которые я обрабатываю)?
Есть ли способ, которым лаосский и подобные языки (например, тибетский) следует обрабатывать по-разному в отношении utf8_replace
? Известно ли, что он вызывает уведомления с некоторыми символами на этих языках? Есть диакритические вопросы или что-то еще? Кто-нибудь знает, как не получать уведомления, кроме отключения уведомления?
Обновление: На самом деле я добавляю, что в лаосских словах нет пробелов между словами, поэтому вам нужно отделить строки символов, и для этого я использую utf8_replace, но он не подходит для лаосского языка, хотя он, похоже, работает на тайский например. Поэтому я действительно пытаюсь разбить строки символов, но по какой-то причине смещения не определены. Кажется, что тибетцы также имеют проблемы, например. «Α╜ª»
Update
Вот главный вопрос: Почему я получаю уведомления с помощью utf8_replace
на некоторых слов в лаосской?
(Joomla)
// Iterate through the terms and test if they contain the relevant characters.
for ($i = 0, $n = count($terms); $i < $n; $i++)
{
$charMatches = array();
if ($lang === 'zh')
{
$charCount = preg_match_all('#[\x{4E00}-\x{9FCF}]#mui', $terms[$i], $charMatches);
}
elseif ($lang === 'ja')
{
// Kanji (Han), Katakana and Hiragana are each checked
$charCount = preg_match_all('#[\x{4E00}-\x{9FCF}]#mui', $terms[$i], $charMatches);
$charCount += preg_match_all('#[\x{3040–\x{309F}]#mui', $terms[$i], $charMatches);
$charCount += preg_match_all('#[\x{30A0}-\x{30FF}]#mui', $terms[$i], $charMatches);
}
elseif ($lang === 'th')
{
$charCount = preg_match_all('#[\x{0E00}-\x{0E7F}]#mui', $terms[$i], $charMatches);
}
elseif ($lang === 'km')
{
$charCount = preg_match_all('#[\x{1780}-\x{17FF}]#mui', $terms[$i], $charMatches);
}
elseif ($lang === 'lo')
{
$charCount = preg_match_all('#[\x{0E80}-\x{30EFF}]#mui', $terms[$i], $charMatches);
}
elseif ($lang === 'my')
{
$charCount = preg_match_all('#[\x{1000}-\x{109F}]#mui', $terms[$i], $charMatches);
}
elseif ($lang === 'bo')
{
$charCount = preg_match_all('#[\x{0F00}-\x{0FFF}]#mui', $terms[$i], $charMatches);
}
// Split apart any groups of characters.
for ($j = 0; $j < $charCount; $j++)
{
if (isset($charMatches[0][$j]))
{
$tSplit = JString::str_ireplace($charMatches[0][$j], '', $terms[$i], null);
if (!empty($tSplit))
{
$terms[$i] = $tSplit;
}
else
{
unset($terms[$i]);
}
$terms[] = $charMatches[0][$j];
}
}
}
// Reset array keys.
$terms = array_values($terms);
, пожалуйста, разместите соответствующий код – 2013-03-31 01:22:01
У меня на самом деле нет данных о моем или бо (Мьянма или тибетский), но у меня есть тайский, японский, китайский традиционный и лаосский. – Elin
Я не понимаю, почему это не вопрос. Я хочу знать, есть ли проблема с диакритикой или что-то еще с обработкой лаосского языка. Я не знаю, как это не вопрос. Я попытаюсь перефразировать – Elin