У меня возникли проблемы с попыткой сравнить две строки на арабском языке в скрипте PHP, чтобы убедиться, что они совпадают. Я попытался настроить внутреннюю кодировку на UTF-8 с помощью mb_internal_encoding, я пробовал простое выражение if ($ x == $ y), я пробовал strcmp() ... без кубиков. Любая идея, что я делаю неправильно? Есть ли у PHP проблемы с выполнением строковых сравнений с текстом, отличным от английского?Сравнение двух строковых значений на арабском языке в PHP?
Спасибо!
Вот фрагмент кода:
// Chop up HTML content into bits
$threadPieces = explode('</div>', $innerHTML);
// Chop up the HTML bits into data entries
$strippedThreadPieces = strip_tags($threadPieces[1]);
$threadInfo = explode('-', $strippedThreadPieces);
$threadTitleExists = trim($threadTitleExists, 'thread_title_');
$postername = "مراسل";
if (($threadTitleExists > 100000) && ($threadInfo[0] === $postername))
{
echo 'Thread title:';
echo strip_tags($threadPieces[0]);
echo '<p>';
}
else
{
}
Можете ли вы отправить код? – Ansari
ли обе строки имеют одинаковую кодировку? Не могли бы вы опубликовать фрагмент, который вы используете для сравнения, включая ваши вызовы с функциями mb_? – stefgosselin
Что вам нужно, это 'mb_strcmp()', который по какой-то причине не существует в PHP. Может быть, это может быть полезно: http://pastebin.com/d9kyBjBr – CodeZombie