вырезать слова из текста по шаблону и вывести их на экран.

sickboy

Новичок
вырезать слова из текста по шаблону и вывести их на экран.

Привет знатоки.

Есть переменная:
$s = `whois [email protected]`;
ее содержимое:

Код:
[whois.nic.ru]
% By submitting a query to RU-CENTER's Whois Service
% you agree to abide by the following terms of use:
% [url]http://www.nic.ru/about/servpol.html[/url] (in Russian)
% [url]http://www.nic.ru/about/en/servpol.html[/url] (in English).

domain:                  YA.RU
type:                    CORPORATE
nserver:                 ns.ispm.ru.
nserver:                 ns1.yandex.ru.
nserver:                 ns2.yandex.ru.
nserver:                 ns3.yandex.ru.
state:                   REGISTERED, DELEGATED
org:                     YANDEX, LLC.
phone:                   +7 495 9743555
fax-no:                  +7 495 9743565
e-mail:                  [email][email protected][/email]
created:                 2004.12.27
paid-till:               2007.08.01
source:                  RU-CENTER


Last updated on 2006.08.22 21:37:32 MSK/MSD
из этого текста нужно вырезать значение некоторых полей, т.к. значение полей, в зависимости от whois сервера может отличаться, то пробую вырезать их по шаблону:
для NS: /n[ame\s]?server:/i
для Status: /stat[e|us]:/i
пробовал так:
$ns = preg_replace ('/n[ame\s]?server:(.*)/i', '$1', $s);
выводит:
Код:
[whois.nic.ru]
% By submitting a query to RU-CENTER's Whois Service
% you agree to abide by the following terms of use:
% [url]http://www.nic.ru/about/servpol.html[/url] (in Russian)
% [url]http://www.nic.ru/about/en/servpol.html[/url] (in English).

domain:                  YA.RU
type:                    CORPORATE
ns.ispm.ru.
ns1.yandex.ru.
ns2.yandex.ru.
ns3.yandex.ru.
state:                   REGISTERED, DELEGATED
org:                     YANDEX, LLC.
phone:                   +7 495 9743555
fax-no:                  +7 495 9743565
e-mail:                  [email][email protected][/email]
created:                 2004.12.27
paid-till:               2007.08.01
source:                  RU-CENTER


Last updated on 2006.08.22 21:51:59 MSK/MSD
а нужно чтобы в каждую переменную, например $ns, $status заносились сответствующие значения полей, ns.ispm.ru., REGISTERED, DELEGATED.
 

sickboy

Новичок
0xHH
получилось с preg_match_all
PHP:
$status =  preg_match_all ('/nserver(.*)/i', $s, $matches);
print_r ($matches);
Код:
Array
(
    [0] => Array
        (
            [0] => nserver:                 ns.ispm.ru.
            [1] => nserver:                 ns1.yandex.ru.
            [2] => nserver:                 ns2.yandex.ru.
            [3] => nserver:                 ns3.yandex.ru.
        )

    [1] => Array
        (
            [0] => :                 ns.ispm.ru.
            [1] => :                 ns1.yandex.ru.
            [2] => :                 ns2.yandex.ru.
            [3] => :                 ns3.yandex.ru.
        )

)
а с
$status = preg_match ('/nserver(.*)/i', $s, $matches);

Код:
Array
(
    [0] => nserver:                 ns.ispm.ru.
    [1] => :                 ns.ispm.ru.
)
 
Сверху