[英]extract values (text) from html table using php mysql
您好我想ot提取文本並將其插入到數據庫表中,這是產品描述的代碼
> <table class="AttrDTable"><!--@HeaderPlacehoder--><tr
> class="AttrDRow"><td class="AttrDTypeName">Cod produs (Part number)
> original</td><td class="AttrDValue">5014702023309</td></tr><tr
> class="AttrDAltRow"><td class="AttrDTypeName">Nume produs</td><td
> class="AttrDValue">Pricing gun, single row (8 numeric characters),
> black</td></tr><tr class="AttrDRow"><td
> class="AttrDTypeName">Producator</td><td class="AttrDValue">Avery
> Zweckform</td></tr><tr class="AttrDAltRow"><td
> class="AttrDTypeName">Clasa produsului</td><td
> class="AttrDValue">Aparatură pentru
> birou</td></tr></td></tr><!--@FooterPlacehoder--></table>
我只對<td class="AttrDTypeName">
和<td class="AttrDValue">
的值<td class="AttrDValue">
這些值將輸入數據庫
我用<br>
和<strong>
值制作了html,這是代碼
$rand=explode("<br>",$descriere);
for ($i=0;$i<count($rand);$i++)
if ($rand[$i]!='')
{
$element=explode(": </strong>",$rand[$i]);
$element[0]=str_replace("<strong>","",$element[0]);
$element[1]=str_replace(" ","",$element[1]);
echo $element[0]."---".$element[1]."##"."<br>";
$exista=mysqli_query($conexiune, "SELECT * FROM oc_attribute_description WHERE name='".$element[0]."'") or die(mysqli_error($conexiune));
if (!mysqli_num_rows($exista))
{
mysqli_query($conexiune, "INSERT INTO oc_attribute (attribute_group_id) VALUES ('4')");
$id_attr=mysqli_insert_id($conexiune);
//inserez descriere atribut nou in tabela
mysqli_query($conexiune, "INSERT INTO oc_attribute_description (attribute_id, language_id, name) VALUES ('".$id_attr."', '2', '".$element[0]."')") or die(mysqli_error($conexiune));
}
$atribut=mysqli_fetch_array(mysqli_query($conexiune, "SELECT attribute_id FROM oc_attribute_description WHERE name='".$element[0]."'"));
$exista2=mysqli_query($conexiune, "SELECT * FROM oc_product_attribute WHERE product_id='".$product_id."' AND attribute_id='".$atribut[0]."'") or die(mysqli_error($conexiune));
if (!mysqli_num_rows($exista2))
{
mysqli_query($conexiune, "INSERT INTO oc_product_attribute (product_id, attribute_id, language_id, text) VALUES ('".$product_id."', '".$atribut[0]."', '2', '".$element[1]."')") or die(mysqli_error($conexiune));
}
else
mysqli_query($conexiune, "UPDATE oc_product_attribute SET text='".$element[1]."' WHERE product_id='".$product_id."' AND attribute_id='".$atribut[0]."'") or die(mysqli_error($conexiune));
}
謝謝
您可以使用簡單的html dom。 它是最簡單,最快的php dom提取器。 在這里,我根據您的要求編寫了一些代碼。 我假設您的html包含數據在uss.html中。 所以,這是一個簡單的代碼
include 'simple_html_dom.php';
$html = new simple_html_dom();
$html = file_get_html("uss.html");
$data = $html->find('td[class=AttrDTypeName]');
$data1 = $html->find('td[class=AttrDValue]');
echo "Your data from, td class="AttrDTypeName"<br><br>";
foreach($data as $val)
{
echo $val->innertext."<br><br>";
}
echo "Your data from, td class="AttrDValue"<br><br>"
foreach($data1 as $val1)
{
echo $val1->innertext."<br><br>";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.