Я пытаюсь сравнить 2 строки, которые для меня выглядят одинаковыми, но результат не получается равным.

Вот 2 проверки на равенство, которые я провел:

if (strcasecmp($h3Tag, "Sector (GICS®)") == 0) {
    echo "found the sector!<br />";
}

if ($h3Tag == "Sector (GICS®)") {
    echo "found the sector!<br />";
}

А вот print_r для $ h3Tag в соответствии с запросом: Sector (GICS®)

Я почти уверен, что это связано с зарегистрированным символом торговой марки, потому что я выполнил функцию запусков с функцией и поднялся до этого символа до того, как он потерпел неудачу. Я попытался запустить его через htmlspecialchars и сравнить его с Sector (GICS&reg;) безрезультатно. Есть идеи, как сравнить строки с этим символом?

php
0
dmikester1 6 Апр 2017 в 06:06

2 ответа

Лучший ответ

Я наконец понял это! Вот код, который мне пришлось использовать:

if (strcasecmp($h3Tag, "Sector (GICS&reg;)") == 0) {
                echo "found the sector!<br />";
            }

Поэтому, когда я печатал или отображал $ h3Tag, он конвертировал его в реальный символ. Но чтобы сравнить со строкой, мне пришлось сравнить html-код символа. Может быть, это поможет кому-то еще.

0
dmikester1 7 Апр 2017 в 01:41

Попробуйте добавить этот заголовок строки ('Content-Type: text / html; charset = utf-8'); вверху.

Кроме того, что вы получаете, когда вы повторяете значение $ h3Tag?

0
mindaJalaj 6 Апр 2017 в 03:25