2014-09-17 5 views
0

HTML ul 목록을 json 형식으로 변환하고 싶습니다.PHP - HTML ul 목록을 json 형식으로 변환

하는 HTML 목록은이 형식으로되어 있습니다 :

<li><span class="orgname">Adams Center Free Library</span> <span class="status">Closed</span></li> 

<li><span class="orgname">Weight Watchers Watertown</span> <span class="status">Delayed</span></li> 

내가는이 같은 JSON 형식이어야 싶습니다

{ 
    "meta": { 
    "closed_count": "1", 
    "delayed_count": "1" 
    }, 
    "list": [ 
    { 
     "data": { 
     "orgname": "Adams Center Free Library", 
     "status": "Closed" 
     } 
    }, 
    { 
     "data": { 
     "orgname": "Weight Watchers Watertown", 
     "status": "Delayed" 
     } 
    } 
    ] 
} 

사람이 나를 도울 수 있습니까?

+0

사용이 http://stackoverflow.com/questions/2817242/php-convert-ul-li-tree-html-tag-to-an-array 솔루션의 일종 ul/리 PHP는 배열에서 json_encode 함수를 사용하여 JSON 형식으로 얻으려고. –

+0

여기를 확인하십시오 : http://stackoverflow.com/questions/23062537/how-to-convert-html-to-json-using-php –

답변

0

일부 데이터베이스에서 데이터를 출력한다고 가정합니다. 그래서 배열에 값을 추가하고 인코딩에 비해 JSON으로 :

$delayed = 0; 
$close = 0; 
$data = []; 

echo "<ul>"; 
foreach ($myArray as $row) { 
    echo "<li><span class='orgname'>{$row['orgname']}</span> <span class='status'>{$row['status']}</span></li>"; 
    $data[] = ['data' => ['orgmane' => $row['orgname'], 'status' => $row['status']]]; 
    // or if $row only has 'orgname' and 'status' 
    $data[] = ['data' => $row]; 

    if (strtolower($row['status']) == 'delayed') { 
     $delayed++; 
    } else { 
     $closed++; 
    } 
} 
echo "</ul>"; 

json_encode(
    [ 
     'meta' => ['closed_count' => $closed, 'delayed_count' => $delayed], 
     'list' => $data, 
    ] 
); 
+0

나는 당신이 제공 한 코드의 설정을 좋아하지만 사용할 수는 없습니다. 아직. 나는 실제로 데이터베이스를 전혀 사용하지 않고있다. 저는 기본 HTML 페이지를 사용해야했습니다. –

+0

@DaltonSutton이 데이터 데이터의 출처와이 json을 어떻게 사용할지를 설명하는 질문을 확장 할 수 있습니까? – Justinas

+0

기본적으로 HTML 표에서 HTML 목록으로 이미 변환 한 내용이 있습니다. 목록에서 foreach 함수로 인해 아직 수행 할 수없는 json 피드로 변환하고 싶습니다. 이 일을 도와 주실 수 있다면 정말 고맙겠습니다! snipet.co.uk/Bfh –

관련 문제