"; and finally add the corresponding replacement."/> "; and finally add the corresponding replacement.">

Home  >  Article  >  Backend Development  >  How to implement regular table replacement in PHP

How to implement regular table replacement in PHP

藏色散人
藏色散人Original
2021-05-19 09:33:331513browse

How to implement php regular table replacement: use php on the home page to collect table table data; then use regular rules to delete tags such as "f5d188ed2c074f8b944552db028f98a1b6c5a531a458a2e790c1fd6421739d1ca34de1251f0d9fe1e645927f19a896e8"; finally add the corresponding replacement That’s it.

How to implement regular table replacement in PHP

The operating environment of this article: windows7 system, PHP7.1 version, DELL G3 computer

php Regularly matches the table in the web page html Convert the content into an array

When connecting to JD.com vop, when JD.com returns the specification attributes, it returns the style in html format, for example

$date='
<table cellpadding="0" cellspacing="1" width="100%"border="0" class="Ptable">
         <tr>
            <th class="tdTitle" colspan="2">主体
           </th>
         <tr>
         <tr>
              <td class="tdTitle">品牌
              </td>
              <td>好孩子
              </td>
         </tr>
         <tr>
             <td class="tdTitle">主材质
             </td>
             <td>PP
             </td>
         </tr>
         <tr>
                <td class="tdTitle">规格
                </td>
                <td>800mm*445mm*225
                </td>
        </tr>
        </table>&#39;;

as above Table, the preview is

The next step is to extract. The extraction idea is to use regular rules to convert f5d188ed2c074f8b944552db028f98a1b6c5a531a458a2e790c1fd6421739d1c. a34de1251f0d9fe1e645927f19a896e8Wait for the tags to be deleted first.

Paste the code first

//php采集table表格数据(将HTML表格的每行每列转为数组)
function tdToArray($table) {
    $table = preg_replace("&#39;<table[^>]*?>&#39;si","",$table);
    $table = preg_replace("&#39;<tr[^>]*?>&#39;si","",$table);
    $table = preg_replace("&#39;<td[^>]*?>&#39;si","",$table);
    $table = str_replace("</tr>","{tr}",$table);
    $table = str_replace("</td>","{td}",$table);
    //去掉 HTML 标记
    $table = preg_replace("&#39;<[/!]*?[^<>]*?>&#39;si","",$table);
    //去掉空白字符
    $table = preg_replace("&#39;([rn])[s]+&#39;","",$table);
    $table = str_replace(" ","",$table);
    $table = str_replace(" ","",$table);
    $table = explode(&#39;{tr}&#39;, $table);
    array_pop($table);
    foreach ($table as $key=>$tr) {      // 自己可添加对应的替换
        $td = explode(&#39;{td}&#39;, $tr);
        array_pop($td);
        $td_array[] = $td;
    }
    return $td_array;
}

Use debug to go through the process and observe each step. I will not go into details. I will put a picture of the last $table. Variable

##The variable after array_pop

is as follows

The \r\n above is to distinguish the added line breaks. It can be replaced with str_replace. In addition, the title can also be replaced. As follows

## Final effect

Recommended learning: "

PHP Video Tutorial

"

The above is the detailed content of How to implement regular table replacement in PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn