28 Oct

Parsing HTML DOM from PHP

// create object dari class DOMDocument
$dom_document = new DOMDocument();
// panggil loadHTML untuk mendapatkan struktur DOM dari HTML atau link tertentu
$dom_document->loadHTML($html);

//konversi dari HTML ke DOM
$dom_xpath = new DOMXpath($dom_document);

// sebagai contoh kita mencari element div dengan id = 'title'
$elements = $dom_xpath->query("*/div[@id='title']");

// jika tidak null (kosong)
if (!is_null($elements)) {

  // lakukan loop jika elemen yang ditemukan lebih dari satu
  foreach ($elements as $element) {

    $nodes = $element->childNodes;
    foreach ($nodes as $node) {
        // mencoba untuk menampilkan isi dari element yang berhasil dicari
        echo $node->nodeValue. "\n";
    }

  }
}

28 Oct

Generate JSON from PHP

$data = array(
    (object)array(
        'nama' => 'Andi Taru',
        'alamat' => 'Salatiga',
    ),
    (object)array(
        'nama' => 'Niken',
        'alamat' => 'Ungaran',
    ),
);
echo json_encode($data);

Hasil dari kode program di atas adalah:

[{"nama":"Andi Taru","alamat":"Salatiga"},{"nama":"Niken","alamat":"Ungaran"}]

artinya ada dua data di dalam JSON, setiap data memiliki nama dan alamat.

28 Oct

Parsing XML from JQuery

<!DOCTYPE html>
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>

<p id="someElement"></p>
<p id="anotherElement"></p>

<script>
var xml = "<rss version='2.0'><channel><title>RSS Title</title></channel></rss>",
    xmlDoc = $.parseXML( xml ),
    $xml = $( xmlDoc ),
    $title = $xml.find( "title" );

/* append "RSS Title" to #someElement */
$( "#someElement" ).append( $title.text() );

/* change the title to "XML Title" */
$title.text( "XML Title" );

/* append "XML Title" to #anotherElement */
$( "#anotherElement" ).append( $title.text() );
</script>

</body>
</html>

Keterangan:
Baris 4: isi dengan path jquery sesuai dengan kebutuhan
Baris 12: contoh isi XML yang akan di parsing
Baris 13: parsing XML document dari JQuery
Baris 15: contoh pencarian element tertentu dalam XML (title)