两个html短语之间的preg_match_all

时间:2013-09-24 22:12:27

标签: php regex

我试图从中减去链接 <a class="link" href="http://www.x.ro/index.php?page=profile&amp;aid=560030" title="Profilul lui

我试过

<?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] =&gt;数组([0] =&gt;

已解决......看起来print_r只是没有t show anything, i don知道原因。 var_dump像魅力一样工作

1 个答案:

答案 0 :(得分:0)

我很确定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的输出在viper-7中受到影响......但你至少可以看到匹配。

请注意,如果你做print_r($match[1]);,你会得到更合适的印刷品:)