Показать сообщение отдельно
Старый 05.01.2007, 16:38     # 4
UnOuter
Member
 
Регистрация: 17.03.2005
Адрес: Kiev
Сообщения: 235

UnOuter Реально крут(а)UnOuter Реально крут(а)UnOuter Реально крут(а)UnOuter Реально крут(а)
Цитата:
Сообщение от BorLase
зачем забивать гвозди микроскопом?

для этой задачи не регэкспы нужны, а xml-xsl преобразование

вот xsl, который делает то, что тебе надо:

PHP код:
<xsl:stylesheet
    xmlns
:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'>

    <
xsl:output method="text"/>
    
    <
xsl:template match="/">
          <
xsl:apply-templates select="w3s.response/reqn"/>
          <
xsl:apply-templates select="w3s.response/invoice"/>
    </
xsl:template>

    <
xsl:template match="w3s.response/reqn">
      
reqn: <xsl:value-of select="."/>
    </
xsl:template>
    
    <
xsl:template match="w3s.response/invoice">
      
id: <xsl:value-of select="./@id"/>
    </
xsl:template>

</
xsl:stylesheet
идея, думаю, понятна
--------------------------------------------------------------------

XML я беру на стороннем сервере!

Цитата:
Сообщение от Naked
так вроде вот так наверное пойдет:
preg_match (".reqn.(.*)..reqn.", $str1, $str2)
там возможно еще в начале и в конце надо добавить по символу "/" - но это не точно помню, "точка" - это любой символ - просто возможно символы <>/ могут неверно обработаться и их надо экранировать, чтобы это не делать я частенько точку ставлю если это не создает множественности всяких результатов

ну да оно работает но масив имеет такой вид

Array
(
[0] => <reqn>1234567</reqn>
[1] => 1234567
)

а я хотел бы чтобы вот так

Array
(
[0] => 1234567
)
__________________
Каждый может сказать, что он может сделать что-то лучше других, но на практике - очень часто не так.
UnOuter вне форума