# Navigation

Memecah String Berdasarkan Parameter Tag HTML Dengan DOM Parser PHP

Memecah String Berdasarkan Parameter Tag HTML Dengan DOM Parser PHP

Berhubung sudah larut malam jadi pembahasannya yang ringan-ringan aja ya bapak dan ibu. Subuh ini yang akan kita bahas adalah tutorial PHP untuk memecah string berdasarkan parameter Tag HTML. Dalam pemrograman PHP istilah ini biasa disebut dengan istilah explode. PHP sendiri sebenarnya telah menyediakan fungsi untuk kita melakukan manipulasi string, misalnya untuk memecah string berdasarkan parameter tertentu kita bisa memanfaatkan fungsi explode() pada PHP. Akan tetapi pada tutorial PHP kali ini kita tidak akan membahas tentang fungsi exlplode(), melainkan menggunakan DOM.

Contoh kasus misalnya saya memiliki string seperti berikut:

<p>Ini adalah tutorial manipulasi string menggunakan PHP.</p>
<p>Bagaimana cara melakukannya?.</p>
<p>Caranya dengan menggunakan DOM Parser.</p>

String di atas akan kita pecah berdasrakan tag HTML "<p>" dan menyimpannya kedalam variable array seperti dibawah.


Array(
[0] = ‘<p>Ini adalah tutorial manipulasi string menggunakan PHP.</p>’;
[1] = ‘<p>Bagaimana cara melakukannya?.</p>’;
[2] = ‘<p>Caranya dengan menggunakan DOM.</p>’;
)

Bagaimana caranya? Yaitu dengan menggunakan DOMDocument dan DOMXPath. Berikut souce code (listing) programnya, silahkan bapak dan ibu kembangkan sendiri sesuai kebutuhan.


$a = ‘<p>Ini adalah tutorial manipulasi string menggunakan PHP.</p>
      <p>Bagaimana cara melakukannya?.</p>
      <p>Caranya dengan menggunakan DOM.</p>’;

$dom = new DOMDocument();
$dom->loadHTML($a);
$domx = new DOMXPath($dom);
$entries = $domx->evaluate("//p");
$arr = array();
foreach ($entries as $entry) {
   $arr[] = '<' . $entry->tagName . '>' . $entry->nodeValue .  '</' . $entry->tagName . '>';
}

print_r($arr);

Jika ingin menggunakan tag HTML lainnya, kita tinggal mengganti parameter yang ada pada fungsi evaluate('tag html'). Pada contoh script diatas parameternya menggunakan "//p" karena kita akan memecah string menggunakan tag <p>. Misalkan kita ingin parameternya berupa tag <div> maka parameternya seperti ini "//div". Kenapa slash "/" nya ada dua? Jawabannya karena slash dua "//" menandakan bahwa parameter tersebut adalah tag html. Selain menggunakan fungsi evaluate(), kita juga bisa memanfaatkan fungsi query() untuk memecah string menggunakan DOM.

Semoga bermanfaat, Aamiin :)


YANG LAIN: