форум vBSupport.ru > Камчатка > Pocket PC vBulletin.net.ru
  • »
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
 
 
 
 
Koc
Простоузер
Post распарсить разные строки
0

Доброго времени суток!
Пишу парсер. В целом все нормально, но возникли некоторые трудности. Ниже пишу строки и что из них нужно получить. Вас же прошу сделать регексп.

input:
HTML Code:
<a target=_blank href=http://xdevs.ru>Extreme Developers</a> и <a target=_blank href=http://kranx.com>Kranx Productions</a>
output:
PHP Code:
array(
 
'site'=>array(0=>'http://xdevs.ru'1=>'http://kranx.com')
 
'name'=>array(0=>'Extreme Developers'1=>'Kranx Productions')
 ) 

input:
HTML Code:
<a target=_blank href=http://www.ubisoft.ca>Ubisoft Montreal</a>
output:
PHP Code:
array(
 
'site'=>array(0=>'http://www.ubisoft.ca')
 
'name'=>array(0=>'Ubisoft Montreal')
 ) 

input:
HTML Code:
EA Los Angeles и <a target=_blank href=http://kranx.com>Kranx Productions</a>
output:
PHP Code:
array(
 
'site'=>array(0=>NULL1=>'http://kranx.com')
 
'name'=>array(0=>'EA Los Angeles'1=>'Kranx Productions')
 ) 

input:
HTML Code:
EA Los Angeles, <a target=_blank href=http://seaward.ru>Seaward.Ru Team</a> и <a target=_blank href=http://kranx.com>Kranx Productions</a>
output:
PHP Code:
array(
 
'site'=>array(0=>NULL1=>'http://seaward.ru'2=>'http://kranx.com')
 
'name'=>array(0=>'EA Los Angeles'1=>'Seaward.Ru Team'2=>'Kranx Productions')
 ) 

То есть как видно, зацепиться за href не получается. Зацепиться за "и" вроде как тоже. но думаю ,что выход должен быть.

Last edited by Koc : 03-05-2008 at 03:09 PM.
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
jaymay
Продвинутый
Default
1

Quote:
Originally Posted by Koc View Post
Доброго времени суток!
Пишу парсер. В целом все нормально, но возникли некоторые трудности. Ниже пишу строки и что из них нужно получить. Вас же прошу сделать регексп.
...
Тебе надо сначала сделать сплит исходной строки на запятые или союз "и":
Code:
$str = 'EA Los Angeles, <a target=_blank href=http://seaward.ru>Seaward.Ru Team</a> и <a target=_blank href=http://kranx.com>Kranx Productions</a>';
$result = preg_split("/,\s*|\s+и\s+/", $str);
Результат:

[0] EA Los Angeles
[1] <a target=_blank href=http://seaward.ru>Seaward.Ru Team</a>
[2] <a target=_blank href=http://kranx.com>Kranx Productions</a>

Потом в цикле проверяешь, есть ли в каждой строке URL примерно таким регекспом:
Code:
/href=(.*?)>(.*?)</
и соответственно заполняешь поля хэша.
 
 
Koc
Простоузер
Default
0

спасибо. Вечером попробую.

На http://php.ru/forum/ такую тему просто закрыли без объяснения и все.

upd: все работает. Еще раз спасибо.

Last edited by Koc : 03-05-2008 at 07:05 PM.
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 05:23 PM.


Powered by vBulletin® Version 3.5.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Loading...