| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Тексты > Глюк substr |
| Автор: motorway 11.7.2011, 21:17 | ||||
| На 5 PHP наблюдается странный глюк, когда пробую получить подстроку с помощью substr, предварительно найдя позицию последнего вхождения подстроки с помощью strripos. Вот текст:
Вот код, который всё это делает. Но результат 4.524 не получается, а получаем пустую строку. В чем может быть проблема? Позиция искомой подстроки получается равной 555. |
| Автор: srt 11.7.2011, 21:36 |
| 4.524 руб. вывело ток сначала двойные кавычки в строке на одинарные заменил <tr class="productListing-odd">, мож об них споткнулось? |
| Автор: motorway 11.7.2011, 22:22 |
| Смысл был именно в оставлении этой же строки. Могло и об них, но почему? Если переменная берется из файла... Может, дело в памяти? При большой позиции по абс. значению что-то происходит... Добавлено через 3 минуты и 22 секунды Вообще уже решил заменить на explode и брать последний полученный элемент. А то в прошлый раз с этим strripos у меня тоже проблемы были |
| Автор: bars80080 11.7.2011, 23:10 |
| а какая кодировка у текста, в котором ищется? |
| Автор: motorway 11.7.2011, 23:18 |
| windows-1251 |
| Автор: srt 12.7.2011, 05:30 | ||
Добавлено через 1 минуту и 59 секунд потому что кавычки это элемент синтаксиса в php Добавлено через 6 минут и 51 секунду кстати bars80080 правильно заметил - кодировку нужно устанавливать скрипту обязательно, чтобы не расставлять себе невидимую ловушку :О) например setlocale(LC_ALL, 'ru_RU.CP1251'); |
| Автор: motorway 12.7.2011, 14:44 |
| Странно. Я обычно занимался обработкой страниц, не особо обращая внимание есть ли там кавычки - по идее не должно зависеть от этого. |
| Автор: srt 12.7.2011, 15:10 |
| таки вопрос решён? |
| Автор: motorway 12.7.2011, 16:14 |
| Не знаю, у меня лично не получилось нормально с этим кодом. Почему из-за кавычек вдруг функция по-другому работать должна? Добавлено через 1 минуту и 8 секунд Саму подстроку нужную я получил еще вчера с помощью explode (решил по-другому сделать), но с помощью данного кода - нет |