Автозаполнение не предлагает ввод заглавных букв PHP и XML - PullRequest
0 голосов
/ 01 апреля 2012

Я создаю простую форму, и в этой форме я хочу иметь функцию автозаполнения. http://www.script -tutorials.com / autocomplete-with-php-jquery-mysql-and-xml / Я прочитал это руководство и для своих данных я создал файл XML в следующем формате

<inputs>
    <input>AA</input>
    <input>BAC</input>
    <input>AWT</input>
    <input>tag</input>
    <input>AHY</input>
</inputs>

И метод, который обрабатывает автозаполнение:

 $aValues = $aIndexes = array();
        $sFileData = file_get_contents('data2.xml'); // reading file content
        $oXmlParser = xml_parser_create('UTF-8');
        xml_parse_into_struct($oXmlParser, $sFileData, $aValues, $aIndexes);
        xml_parser_free( $oXmlParser );

        $aTagIndexes = $aIndexes['ITEM'];
        if (count($aTagIndexes) <= 0) exit;
        foreach($aTagIndexes as $iTagIndex) {
            $sValue = $aValues[$iTagIndex]['value'];
            if (strpos($sValue, $sParam) !== false) {
                echo $sValue . "\n";
            }
        }
    break;

Но проблема в том, что, когда я набираю текст в поле, он всегда предлагает данные в нижнем регистре. Например, если я наберу 'A' или 'a', это будет означать только тег данных '

В чем проблема, как мне решить эту проблему?

Спасибо.

1 Ответ

4 голосов
/ 01 апреля 2012

Функция strpos() чувствительна к регистру, поэтому она будет возвращать только «тег», содержащий букву «а».Вы должны использовать stripos(), если вы хотите проверку без учета регистра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...