Помогите написать preg!

Pingvin22

Новичок
Помогите написать preg!

text:

<srt>
<a>"значение"</a>
<b>"значение"</b>
<c>"значение"</c>
...
...
<y>"значение"</y>
</str>

<srt>
<a>"значение"</a>
<b>"значение"</b>
<c>"значение"</c>
...
...
<y>"значение"</y>
</str>

... ...
... ...

<srt>
<a>"значение"</a>
<b>"значение"</b>
<c>"значение"</c>
...
...
<y>"значение"</y>
</str>


нужно забрать только значение!

PHP:
preg_match_all("/<str>.*<.*>(.*)<\/.*>.*<\/str>/Us",$text,$massiv);

Как мне сделать повтор n раз вот этой части
PHP:
.*<*.>(.*)<\/.*>.*
 

Rosco

Новичок
Блин, вот еще один регулярщик. strpos() попробуйте и substr()...
 

Vladson

Сильнобухер
Как я понял это простой XML так что не вижу смысла изобретать велосипед и предлогаю воспользоваться стандартными функциями РНР
http://www.php.net/manual/en/ref.xml.php
На крайняк теми что есть в коментариях

(как я понял задача переделать XML в мaccив, если нет, то выражайтесь яснее)
 
учи регулярные выражения

preg_match_all("#<\w>\"(.*)\"<\/\w>#",$text,$massiv);

\w - any "word" character
.* - изучи эту конструкцию

. - match any character except newline (by default)
* - 0 or more quantifier

успехов

читай статьи на сайте
 

Pingvin22

Новичок
Автор оригинала: Rosco
Блин, вот еще один регулярщик. strpos() попробуйте и substr()...
strpos() это очень геморойно, почитай про PRCE и сам поймешь!



Как я понял это простой XML так что не вижу смысла изобретать велосипед и предлогаю воспользоваться стандартными функциями РНР
да это простой XML, спасибо за доки посмотрю!


учи регулярные выражения

preg_match_all("#<\w>\"(.*)\"<\/\w>#",$text,$massiv);

\w - any "word" character
.* - изучи эту конструкцию

. - match any character except newline (by default)
* - 0 or more quantifier

успехов

читай статьи на сайте
твое выражение не работает ты не понял сути,
а суть такова есть БД на акцессе я делаю экспорт в xml
получается такая структура:

//первая запись в таблице
<название таблицы>
<название поля>значение</название поля>
...
<название поля>значение</название поля>
</название таблицы>

//вторая запись в таблице
<название таблицы>
<название поля>значение</название поля>
...
<название поля>значение</название поля>
</название таблицы>

и т.д.

мне надо получить многомерный массив где значения одного подмассива это значения одной записи в таблице.

-~{}~ 17.08.05 11:15:

так всетаки помогите дописать prce

PHP:
preg_match_all("/<str> <.*>(.*)<\/.*> <\/str>/Us",$text,$massiv);
что поставить между <.*>(.*)<\/.*> чтобы эта часть повторялась n раз от <str> до </str>?
 
Сверху