2013-09-24 47 views
0

我试图从 <a class="link" href="http://www.x.ro/index.php?page=profile&amp;aid=560030" title="Profilul luipreg_match_all之间的两个

。减去链路我试图

<?php 
$output2='<a class="link" href="http://www.x.ro/index.php?page=profile&amp;aid=560030" title="Profilul lui'; 
preg_match_all('#<a\sclass="link"\shref="(.*?)"\stitle="Profilul#i', $output2, $match); 
print_r ($match); 
?> 

没什么所示... 阵列([0] =>数组([0] = >

解决......好像只是没t show anything, i don的print_r知道为什么。的var_dump工作就像一个魅力

+2

尝试'的var_dump()'来代替(** **总是用它进行调试,而不是'echo'或'print_r') – zerkms

+0

有效。谢谢。我不知道为什么print_r没有工作... – user2761358

+1

既然这个问题现在已经解决了,有人可以写一个答案并将其标记为已解决吗? –

回答

0

我PRET ty确定print_r不起作用,因为双引号不平衡和正则表达式中的开角度括号。我改变了输入字符串有点:

<a class="link" href="http://www.x.ro/index.php?page=profile&amp;aid=560030" title="Profilul lui" 

[我添加的最后报价]

而且你的正则表达式:

#<a\sclass="link"\shref="(.*?)"\stitle="Profilul lui#i 

同时注意thisthis

,或在不开尖括号:

#a\sclass="link"\shref="(.*?)"\stitle="Profilul lui#i 

See the change

即使var_dump的输出受到影响的毒蛇 - 7 ...但你至少可以看到比赛。

请注意,如果你这样做print_r($match[1]);你得到一个更体面的打印:)