簡體   English   中英

使用php mysql從html表中提取值(文本)

[英]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("&lt;br&gt;",$descriere);
    for ($i=0;$i<count($rand);$i++)
        if ($rand[$i]!='')
        {
            $element=explode(": &lt;/strong&gt;",$rand[$i]);
            $element[0]=str_replace("&lt;strong&gt;","",$element[0]);
            $element[1]=str_replace("&nbsp;","",$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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM