我已经对此进行了一些研究并知道我将使用模数,但我有点卡住了。我有一组像这样的链接:
Link 1
Link 2
Link 3
Link 4
Link 5
GAP
Link 1
Link 2
Link 3
Link 4
Link 5
这种情况持续了很长时间。我想从每一位提取链接2,但不能真正做到这一点。到目前为止我已经:
$counter = 0;
foreach ($items as $item) {
$counter++;
if ($counter % 6 == 2) { continue; }
}
非常欢迎任何帮助!
答案 0 :(得分:0)
如果我理解正确的话......你有一个包含所有链接的大阵列?
.active
我认为这样的事情会起作用:
$items = array(
"link1",
"link2",
"link3",
"link4",
"link5",
"gap",
"link2_1",
"link2_2",
"link2_3",
"link2_4",
"link2_5",
"gap2"
etc..
);
答案 1 :(得分:0)
这不是您问题的完全答案,但您已在评论中指明数组的来源是HTML页面,所以......
当我们处理HTML / XML字符串时,最好的方法是永远来使用解析器,因为通过它我们可以获得更多的灵活性和更正确的结果。
请参阅此代码:
$data = file_get_contents( 'http://www.scotcourts.gov.uk/current-business/court-rolls/sheriff-court' ) or q('ouch');
$dom = new DOMDocument();
libxml_use_internal_errors(True);
$dom->loadHTML( $data );
libxml_use_internal_errors(False);
$xpath = new DOMXPath( $dom );
$result = array();
$query = '//div[@id="T60AE9CAF007_Col00"]/div/ul';
foreach( $xpath->query( $query ) as $row )
{
$li = $xpath->query( './li/div/a', $row );
$result[] = $li->item(1)->getAttribute( 'href' );
}
的 PhpFiddle demo 强>
通过这种方式,您可以获得忽略差距和技巧的所有链接。
我添加了libxml_use_internal_errors(True)
以避免对html错误发出警告
使用主$query
,我检索<ul>
中的所有<div id="T60AE9CAF007_Col00">
节点(请注意,我不知道此ID是否为更改主题的永久性,如果具有最佳属性则替换),然后我处理每个节点以搜索所有<li>
个孩子,并将每个第二个孩子的href
属性添加到数组中。
我认为代码是自我解释的,但如果您有疑问,请随时提出。