2013-04-07 85 views
-3

类我得到这个代码:获取所有<a>标签的内容与在PHP

..some code here.. 
<a href="members/username1.12345/" class="username bigs" title="">Username 1</a> 
..some code here.. 
..some code here.. 
<a href="members/username2.55334/" class="username bigs" title="">Username 2</a> 
..some code here.. 
..some code here.. 
<a href="members/username3.23455/" class="username bigs" title="">Username 3</a> 
..some code here.. 
..some code here.. 
<a href="members/username4.45545/" class="username bigs" title="">Username 4</a> 
..some code here.. 

如何获得用户名1,用户名2,用户名3,4名等。与preg_match_all()?

我不想使用SimpleHTMLdom或其他..我想用preg_match_all()做到​​这一点...如何做到这一点?我尝试了很多正则表达式的...但他们都没有工作..

+1

*“我不想使用SimpleHTMLdom或其他。”*为什么不? – Antony 2013-04-07 11:41:19

+2

你不想为此使用正则表达式。期。 – ThiefMaster 2013-04-07 11:44:25

+0

@antony我的老师命令用正则表达式来做。所以我有另一种选择。请有人做我的作业,并给我解决方案 – 2013-04-07 11:44:55

回答

1

正则表达式是一个可怕的想法。但仍然 - 试试这个:@<a href="members/.+/" class="username bigs" title="">(.+)</a>@U

$subject = '..some code here.. 
<a href=\"members/username1.12345/\" class=\"username bigs\" title=\"\">Username 1</a> 
..some code here.. 
..some code here.. 
<a href=\"members/username2.55334/\" class=\"username bigs\" title=\"\">Username 2</a> 
..some code here.. 
..some code here.. 
<a href=\"members/username3.23455/\" class=\"username bigs\" title=\"\">Username 3</a> 
..some code here.. 
..some code here.. 
<a href=\"members/username4.45545/\" class=\"username bigs\" title=\"\">Username 4</a> 
..some code here..'; 

$pattern = '@<a href="members/.+/" class="username bigs" title="">(.+)</a>@U'; 

$result = preg_match_all($pattern, $subject, $subpattern); 

echo '<pre>'.print_r($subpattern, TRUE).'</pre>'; 
+3

“请别人做我的功课并给我解决方案” - 耶稣。我想再次删除我的答案。 -.- – mrks 2013-04-07 11:46:22

+2

它不是OP,看起来像只是一个讽刺的 – zerkms 2013-04-07 11:47:15

+0

哎呀。应该仔细阅读。感谢您的澄清。 – mrks 2013-04-07 11:48:38