помочь с регулярным выражением - PullRequest
0 голосов
/ 15 марта 2010

У меня есть несколько строк, содержащих ссылку, например:

 <A HREF="http://www.testings2">testings2</A>
 <A HREF="http://www.blabla">blabla</A>
 <A HREF="http://www.gowick">gowick</A>

Я хочу использовать шаблон регулярных выражений, который получает URI в href.

я мог бы сделать как:

 /".*?"/

но тогда "" придет. Есть ли способ просто получить URI в HREF = "" без использования функции preg_replace?

спасибо!

Ответы [ 3 ]

3 голосов
/ 15 марта 2010
preg_match_all('/href="([^"]+)/i', $str, $matches);
var_dump($matches);
0 голосов
/ 15 марта 2010

не уверен, как применить это в PhP, но он работает в Perl

/<a href="([^"]+)".+/i;

Я предполагаю, что это

preg_match( '/<a href="([^"]+)".+/i;', $str, $matches);
0 голосов
/ 15 марта 2010
$str=<<<EOF
 <A href="http://
www.testings2">testings2</A> blah
 <A HrEF=
"http://www.blabla">blabla</A> blah
 <A HREF="http://www.gowick">gowick</A>
 <A
HREF="http://www.testing3">testing3</A>
<a class="navigation" id="selected" href="http://somewhere.com"><xsl:value-of
select="title" /></a>
EOF;

$s = preg_split("/<\/A>/i",$str);
$s = preg_replace("/\n+/","",$s);
$uris = preg_grep("/HREF/i",$s);
foreach($uris as $v){
  $fin = explode('">',$v);
  $t=preg_split('/href="/i',$fin[0] );
  print end($t)."\n";
}

выход

# php test.php
http://www.testings2
http://www.blabla
http://www.gowick
http://www.testing3
http://somewhere.com
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...