I'm trying to get value, text and hyperlinks using PHPQuery from a large file and convert it to Array.
I have tried some of the code but confusion in foreach loop to get data from all class="hl" into an array.
<?php
$str ='
<main>
<div class="artfeed ">
<div class="split split_0">
<div class="split_in">
<div class="hl" data-id="1036294107">
<span class="f" country="US"><!-- --></span>
<div class="hl__inner"><a class="hll" href="http://example.com/001/" target="_blank" rel="nofollow">Some of text here</a>
<span class="end"></span>
<span class="meta">
<span class="src" data-pub="DATAPUB">
<span class="src-part">
exampleOne.com
<svg class="svg-inline--fa fa-cog fa-w-16" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="cog" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg="">
</span>
</span>
<span class="time" data-time="1592802284">12:04</span>
</span>
<a class="hl__menu-toggle c-context-menu__btn js-article-menu__toggle" href="#"></a>
</div>
</div>
<div class="hl" data-id="1036294107">
<span class="f" country="US"><!-- --></span>
<div class="hl__inner"><a class="hll" href="http://example.com/001/" target="_blank" rel="nofollow">Some of text here</a>
<span class="end"></span>
<span class="meta">
<span class="src" data-pub="DATAPUB">
<span class="src-part">
exampleOne.com
<svg class="svg-inline--fa fa-cog fa-w-16" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="cog" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg="">
</span>
</span>
<span class="time" data-time="1592802284">12:04</span>
</span>
<a class="hl__menu-toggle c-context-menu__btn js-article-menu__toggle" href="#"></a>
</div>
</div>
<div class="hl" data-id="1036294107">
<span class="f" country="US"><!-- --></span>
<div class="hl__inner"><a class="hll" href="http://example.com/001/" target="_blank" rel="nofollow">Some of text here</a>
<span class="end"></span>
<span class="meta">
<span class="src" data-pub="DATAPUB">
<span class="src-part">
exampleOne.com
<svg class="svg-inline--fa fa-cog fa-w-16" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="cog" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" data-fa-i2svg="">
</span>
</span>
<span class="time" data-time="1592802284">12:04</span>
</span>
<a class="hl__menu-toggle c-context-menu__btn js-article-menu__toggle" href="#"></a>
</div>
</div>
</div>
</div>
</div>
</main>
';
?>
Need result like this:
/*
Array()
Need result:
Country : US
href : http://example.com/001/
Text : Some of text here
src-part : exampleOne.com
time : 12:04
Country : US
href : http://example.com/001/
Text : Some of text here
src-part : exampleOne.com
time : 12:04
Country : US
href : http://example.com/001/
Text : Some of text here
src-part : exampleOne.com
time : 12:04
*/
I have some of code
<?php
require("phpQuery.php");
$doc = phpQuery::newDocument($str);
$doc = $doc['body']->find('main')->find('.artfeed')->find('.hl');
$links = array();
foreach($doc['div'] as $item)
{
$node = pq($item);
$sibling = $node->next();
if ( $sibling->is('a:first') ) {
$links[] = array(
$node->attr('country'),
$sibling->attr('href'),
$sibling->text(),
);
}
}
// Display result:
print_r($links);
?>