Поиск строк PHP

#php #strpos

#php #strpos

Вопрос:

Хорошо, итак, я борюсь с этим больше, чем следовало бы. Я был в блогах, и я не вижу, что я делаю неправильно. У меня есть большая строка текста, которая возвращается с сервера. Этот текст представляет собой XML. У меня есть тег ContactID в возвращаемом XML. Я использую php, с которым я все еще немного новичок. Я использую функцию strpos, чтобы попытаться найти местоположение начального и конечного тега в xml. Я знаю, что это там, так что это не проблема. Однако, когда я повторяю результат вызова этой функции, я ничего не получаю вместо позиции, как я ожидал. Мой код приведен ниже, и я был бы очень признателен за помощь. Спасибо.

 $contactIdStart = strpos($result, '<contactId>');
$contactIdEnd = strpos($result, '</contactId>');
echo $contactIdStart;
echo "*";
echo $contactIdEnd;

if ($contactIdStart === false)
    echo "bah";
else
    echo "humbug";
  

Не обращайте внимания на всех. Я тупой. strpos, я думаю, чувствителен к регистру.

Комментарии:

1. Почему вы не используете для этого надлежащие синтаксические анализаторы XML?

2. Вроде как подумал, что это перебор для того, что мне нужно. Просто нужно извлечь крошечную часть данных.

3. Все, что вам нужно сделать, это полениться на этом. Используйте анализатор XML, который сделает эту работу за вас. Просто.

4. Не могли бы вы опубликовать XML? Спасибо

5. Что в результате? Вы уверены, что это тот текст, который вы думаете? Можете ли вы опубликовать свой XML-код?

Ответ №1:

strpos() чувствителен к регистру. Используйте stripos() для поиска без учета регистра или исправьте заглавную букву ( ContactId вместо contactId ).

Комментарии:

1. Спасибо. Да, я только что это понял.