Host: marketsms.ru
Accept-Charset: windows-1251
Content-Type: text/xml
Content-Length: 264
<?xml version="1.0" encoding="UTF-8"?>
<request uid="804"><message><text>Новый заказ на сумму 500 руб.выапывапывапыв, </text><abonent phone="79539214831"></abonent></message><security><login value="testorders"></login><sign value="a5a58df216e675c279c34accc97e880b"></sign></security></request>
Подскажите как обрезать все заголовки до <?xml ?> так чтобы если потом появится еще какой нить заголовок не пришлось править код!
т.е такой вариант не подходит
$result = substr($result, 245, strlen($result));
спасибо
Спустя 12 минут, 39 секунд (6.04.2012 - 10:38) h234 написал(а):
Как вариант:
$str = '
POST /mm/send.php HTTP/1.1
Host: marketsms.ru
Accept-Charset: windows-1251
Content-Type: text/xml
Content-Length: 264
<?xml version="1.0" encoding="UTF-8"?>
<request uid="804"><message><text>Новый заказ на сумму 500 руб.выапывапывапыв, </text><abonent phone="79539214831"></abonent></message><security><login value="testorders"></login><sign value="a5a58df216e675c279c34accc97e880b"></sign></security></request>';
$pattern = '/.*(?=\<\?xml version="1.0" encoding="UTF-8"\?\>)/si';
$str = preg_replace($pattern, '', $str);
echo htmlspecialchars($str);
Спустя 4 минуты, 19 секунд (6.04.2012 - 10:42) Игорь_Vasinsky написал(а):
$result = 'POST /mm/send.php HTTP/1.1
Host: marketsms.ru
Accept-Charset: windows-1251
Content-Type: text/xml
Content-Length: 264
<?xml version="1.0" encoding="UTF-8"?>
<request uid="804"><message><text>Новый заказ на сумму 500 руб.выапывапывапыв, </text><abonent phone="79539214831"></abonent></message><security><login value="testorders"></login><sign value="a5a58df216e675c279c34accc97e880b"></sign></security></request>
';
$piece = explode('<?xml', $result);
echo '<?xml'.$piece[1];
Спустя 5 минут, 44 секунды (6.04.2012 - 10:48) realgleb написал(а):
Че то не работаю ваши варианты((
Спустя 4 минуты, 30 секунд (6.04.2012 - 10:52) h234 написал(а):
Результат echo htmlspecialchars($str);
Что же не так то?
<?xml version="1.0" encoding="UTF-8"?> <request uid="804"><message><text>Новый заказ на сумму 500 руб.выапывапывапыв, </text><abonent phone="79539214831"></abonent></message><security><login value="testorders"></login><sign value="a5a58df216e675c279c34accc97e880b"></sign></security></request>
Что же не так то?
Спустя 4 минуты, 30 секунд (6.04.2012 - 10:57) Игорь_Vasinsky написал(а):
А такой?
Свернутый текст
<?xml version="1.0" encoding="UTF-8"?>
<request uid="804"><message><text>Новый заказ на сумму 500 руб.выапывапывапыв, </text><abonent phone="79539214831"></abonent></message><security><login value="testorders"></login><sign value="a5a58df216e675c279c34accc97e880b"></sign></security></request>
Спустя 14 минут, 41 секунда (6.04.2012 - 11:11) killer8080 написал(а):
$t = 'POST /mm/send.php HTTP/1.1
Host: marketsms.ru
Accept-Charset: windows-1251
Content-Type: text/xml
Content-Length: 264
<?xml version="1.0" encoding="UTF-8"?>
<request uid="804"><message><text>Новый заказ на сумму 500 руб.выапывапывапыв, </text><abonent phone="79539214831"></abonent></message><security><login value="testorders"></login><sign value="a5a58df216e675c279c34accc97e880b"></sign></security></request>';
$t = substr($t, strpos($t, "\r\n\r\n") + 4);
echo '<pre>'.htmlspecialchars($t).'</pre>';
Спустя 4 минуты, 54 секунды (6.04.2012 - 11:16) Игорь_Vasinsky написал(а):
killer8080
лишняя пустая строка или на 1 больше и поплывёт всё.
мой же надёжней вариант.
с регуляркой - дополнительно кодировку проверять надо для паттерна.
а explode - порезал и надставил.
лишняя пустая строка или на 1 больше и поплывёт всё.
мой же надёжней вариант.
с регуляркой - дополнительно кодировку проверять надо для паттерна.
а explode - порезал и надставил.
Спустя 3 минуты, 54 секунды (6.04.2012 - 11:20) killer8080 написал(а):
Цитата (Игорь_Vasinsky @ 6.04.2012 - 11:16) |
killer8080 лишняя пустая строка или на 1 больше и поплывёт всё. |
Игорь_Vasinsky
HTTP - это стандарт, и по нему тело документа отделяется от заголовков двумя переводами строки. Все что идет дальше - это контент, даже если он состоит из одних пробельных символов.
Спустя 8 минут, 37 секунд (6.04.2012 - 11:29) Игорь_Vasinsky написал(а):
тогда формат дока либо windows либо unix
тогда \r\n\r\n заменить на PHP_EOL
тогда \r\n\r\n заменить на PHP_EOL
Спустя 1 час, 37 минут, 50 секунд (6.04.2012 - 13:07) killer8080 написал(а):
Цитата (Игорь_Vasinsky @ 6.04.2012 - 11:29) |
тогда формат дока либо windows либо unix тогда \r\n\r\n заменить на PHP_EOL |
Причем здесь PHP? EOL в http определяется стандартом RFC1945
Цитата |
HTTP/1.0 defines the octet sequence CR LF as the end-of-line marker for all protocol elements except the Entity-Body (see Appendix B for tolerant applications). The end-of-line marker within an Entity-Body is defined by its associated media type, as described in Section 3.6. CRLF = CR LF |