Only today I did a task, but it is probably not perfect. What is yours opinion about my solution? What I must improve?
<?php
$str = "<tr>
<td> </td>
<td>vServer<br />Start<br /><b>1 GB</b></td>
<td>vServer<br />Standard<br /><b>2,5 GB</b></td>
<td>vServer<br />Pro<br /><b>5 GB</b></td>
<td>vServer<br />Business<br /><b>10 GB</b></td>
<td>vServer<br />Business Pro<br /><b>20 GB</b></td>
</tr>
<tr class=\"tr_select\">
<td>Net price PLN / 6 months</td>
<td>60,-</td>
<td>80,-</td>
<td>140,-</td>
<td>220,-</td>
<td>400,-</td>
</tr>";
$str = "<table>".$str."</table>";
$array = array();
preg_match_all("|<[^<]+?/>[a-zA-Z\s]+<[^<]+|", $str, $name);
for ($i=0;$i<=4;$i++) {
foreach ($name as $k) {
$newName[] = strip_tags($k[$i]);
}
}
$array['name'] = $newName;
preg_match_all("|<[^<]+?[0-9]+(?:\,[0-9]*)?\s\w+[$</]+\w>|", $str, $size);
$array['size'] = $size[0];
$doc = new DOMDocument;
$doc->loadHTML($str);
$xpath = new DOMXPath($doc);
$tbody = $doc->getElementsByTagName('table')->item(0);
for ($i=2; $i<=6; $i++) {
$query2 = "//tr[2]/td[$i]";
$entries2 = $xpath->query($query2, $tbody);
foreach ($entries2 as $entry) {
$b[] = $entry->nodeValue;
}
}
$array['price'] = $b;
print_r($array);
?>
Thanks for reply