Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выделении в строке
 
 автор: Dazzl   (11.07.2012 в 23:58)   письмо автору
 
 

Здравствуйте, такое дело, если вин приложение, из него на сайт делается запрос.

Беда в том, что когда запрос приходит он бывает со всяким сопровождающим мусором, какие то стрелки, вопросительные знаки к примеру вот так:

??Регестрация прошла успешно>|

И ещё другие знаки и при каждом запросе все по разному, подскажите что с этим можно сделать?

  Ответить  
 
 автор: Zezst   (12.07.2012 в 00:10)   письмо автору
 
   для: Dazzl   (11.07.2012 в 23:58)
 

Тут похоже на проблемы с кодировками.

  Ответить  
 
 автор: Dazzl   (12.07.2012 в 00:27)   письмо автору
 
   для: Zezst   (12.07.2012 в 00:10)
 

Тут вин приложение чуток кривое, потому что на других такого не бывает, но не в этом суть, можноли как нить обромлять нужный ответ и выдирать из мусора нужный результат, к примеру я делал так:

на сервере заранее ответ обрамлял в начале +++ в конце ---

$t = ответ запроса

$v1 = strpos($t, '+++') + 3; //находит позицию вхождение
$v2 = strpos($t, '---') - 3; //находит позицию вхождение
$html = substr($t, $v1, $v2); //выдирает между символами +++ и --- текст
echo $html;


Вообщем получаеться тока не всегда, вот я и хотел узнать может есть более профессиональный подход?

  Ответить  
 
 автор: Zezst   (12.07.2012 в 00:48)   письмо автору
 
   для: Dazzl   (12.07.2012 в 00:27)
 

Что значит не всегда?
А если так:

$v2 = strpos($t, '---');
$html = substr($t, $v1, ($v2-$v1));

  Ответить  
 
 автор: Dazzl   (12.07.2012 в 00:55)   письмо автору
 
   для: Zezst   (12.07.2012 в 00:48)
 

Что значит не всегда?

это озночает что один раз он возврощает чистый ответ типо такого

Регестрация прошла успешно

а в других случаях приход так

При регестации были ошибки--

вот эту мою метку не стирает иногда, обычно имено в конце

$html = substr($t, $v1, ($v2-$v1));
я эт строчку чуток не пойму поясни, )

  Ответить  
 
 автор: Zezst   (12.07.2012 в 01:29)   письмо автору
 
   для: Dazzl   (12.07.2012 в 00:55)
 

substr($t, $v1, ($v2-$v1))

Синтаксис substr(строка, начало, длина).
$t = ответ запроса

$v1 = strpos($t, '+++') + 3; //находит позицию вхождение
$v2 = strpos($t, '---') - 3; //находит позицию вхождение
$html = substr($t, $v1, $v2); //выдирает между символами +++ и --- текст
echo $html;
У тебя $v2 показывает не длину текста который нужно выдрать, а позицию в строке $t с которой начинается блок '---', и ты его еще зачемто сдвигаеш на три символа к началу строки $t.
К примеру получили такое
$t = 'мусор;%:??*()+++Регистрация прошла успешно---мусор67*?';
$v1 = strpos($t, '+++')/*нашли начало блока '+++' (14)*/ + 3; //сдвинули на 3 символа '+', получили $v1 = 17
// т.е. начало строки 17-ый символ
$v2 = strpos($t, '---') ; //получили конец строки, 43-ий символ
$html = substr($t, $v1, ($v2-$v1)); //выдрать текст из строки $t, начиная с позиции $v1 (17-ый символ),
// длинной $v2-$v1, т.е. конец строки (43-ий символ) минус начало строки (17-ый символ)
// т.е. длинной 26 символов

  Ответить  
 
 автор: Dazzl   (12.07.2012 в 01:39)   письмо автору
 
   для: Zezst   (12.07.2012 в 01:29)
 

А-а-а! Ясно! понял, получилось, спасибо большое )

  Ответить  
 
 автор: Zezst   (12.07.2012 в 01:41)   письмо автору
 
   для: Dazzl   (12.07.2012 в 01:39)
 

Пожалста.
Как говорится, чем могу.
Что, тоже по ночам не спится? :)

  Ответить  
 
 автор: Dazzl   (12.07.2012 в 01:47)   письмо автору
 
   для: Zezst   (12.07.2012 в 01:41)
 

ага, есть такое. И еще типо нлайн-игрушку хочу сделать, стратегию ))

Знаю звучит глупо наивно как от мальчишки который толь что наирался игр и под впечатлением у него голова кружиться )) и все же....(чем я хуже других) :)

  Ответить  
 
 автор: Zezst   (12.07.2012 в 02:00)   письмо автору
 
   для: Dazzl   (12.07.2012 в 01:47)
 

Да ладно. Ты не один такой.
Я тоже хочу. Тока RPG больше ндравится.

  Ответить  
 
 автор: Dazzl   (12.07.2012 в 02:23)   письмо автору
 
   для: Zezst   (12.07.2012 в 02:00)
 

RPG на основе php эт только походовая ) как и моя стратегия ) но я намерен сделать свою довольно интересной с элементами RPG , шоб отдельно перса можно было качать и на квесты посылать )) эх было бы побольше свободного времени... (

  Ответить  
 
 автор: Dazzl   (12.07.2012 в 02:28)   письмо автору
 
   для: Dazzl   (12.07.2012 в 02:23)
 

Лан я попробую уснуть завтро вставать спасибо тебе ещё раз.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования