gpt4 book ai didi

php - 使用PHP XPatch在同一foreach循环中从多个域回显文本

转载 作者:行者123 更新时间:2023-12-03 17:09:38 25 4
gpt4 key购买 nike

我正在做一个剪贴练习,它可以工作,但是我想不出一种以所需格式输出数据的方法:

quote quote quote quote quote : author
quote quote quote quote quote : author
quote quote quote quote quote : author


我只能得到:

quote quote quote quote quote
quote quote quote quote quote
quote quote quote quote quote
author
author
author


码:

$html = file_get_contents('http://www.brainyquote.com/authors/buddha');
$dom = new DOMDocument;
@$dom->loadHTML($html);

$classname1="b-qt";
$classname2="bq-aut";
$finder = new DomXPath($dom);
$quotes = $finder->query("//*[contains(@class, '$classname1')]//text()");
$authors = $finder->query("//*[contains(@class, '$classname2')]//text()");


foreach ($quotes as $quote){
echo $quote->textContent . '<br>';
}

foreach ($authors as $author){
echo $author->textContent . '<br>';
}

最佳答案

根据当前输出,您会发现两个数组具有相同数量的元素

因此,您可以:-

foreach ($quotes as $key=> $quote){
echo $quote->textContent .' : '.$authors[$key]->textContent;
}


如果元素数量不同,则:-

$quote_count = count($quotes);
$author_count = count($authors);


if($quote_count > $author_count ){
foreach ($quotes as $key =>$quote){
echo $quote->textContent .' : '. $authors[$key]->textContent;
}

}else {
foreach ($authors as $key =>$author){
echo $quote[$key]->textContent .' : '. $author->textContent;
}
}

关于php - 使用PHP XPatch在同一foreach循环中从多个域回显文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49587278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com