将数据从php简单的html dom获取到json中



我试图将从php简单html dom获得的数据放入json中,但它返回了一个无效的json。

这是我的代码

<?php 
require 'simple_html_dom.php';
header('Content-Type: application/json; charset=utf-8');
function getUrls($url){
$fbPost = grab_page($url);
$postUsers = new simple_html_dom();
$postUsers->load($fbPost);
foreach($postUsers->find('#m_story_permalink_view h3 a') as $fbUserDiv) {
$data = $fbUserDiv->href;
$userurl['user_url'] = $data;
$response["status"] = 1;
$response["data"] = $userurl;

echo json_encode($response);
}
}
getUrls($url);

这是我得到的json的响应:

{"status":1,"data":{"user_url":"/profile.php?id=100006046927552&amp;refid=18&amp;__tn__=C-R"}}{"status":1,"data":{"user_url":"id=100006046927552"}}{"status":1,"data":{"user_url":"/profile.php?id=100071323021139&amp;refid=18&amp;__tn__=R"}}{"status":1,"data":{"user_url":"/ammar.hosny.33?refid=18&amp;__tn__=R"}}{"status":1,"data":{"user_url":"/rawan.magdy.37017?refid=18&amp;__tn__=R"}}{"status":1,"data":{"user_url":"/michaelabdo.michaelabdo.9?refid=18&amp;__tn__=R"}}{"status":1,"data":{"user_url":"/profile.php?id=100022618071315&amp;refid=18&amp;__tn__=R"}}{"status":1,"data":{"user_url":"/abrar.agour?refid=18&amp;__tn__=R"}}{"status":1,"data":{"user_url":"/ahmedaymendaana?refid=18&amp;__tn__=R"}}{"status":1,"data":{"user_url":"/ahmed.abdulrhman.9231712?refid=18&amp;__tn__=R"}}{"status":1,"data":{"user_url":"/abdallh.gmal.393?refid=18&amp;__tn__=R"}}{"status":1,"data":{"user_url":"/profile.php?id=100008883040689&amp;refid=18&amp;__tn__=R"}}

您可以修改getUrls()以生成有效的JSON响应:

function getUrls($url){
$responses = array();
$fbPost = grab_page($url);
$postUsers = new simple_html_dom();
$postUsers->load($fbPost);
foreach($postUsers->find('#m_story_permalink_view h3 a') as $fbUserDiv) {
$data = $fbUserDiv->href;
$userurl['user_url'] = $data;
$response["status"] = 1;
$response["data"] = $userurl;

$responses[] = $response;
}
echo json_encode($responses);
}

最新更新