How to implement regular table replacement in PHP

藏色散人
Release: 2023-03-09 18:58:02
Original
1523 people have browsed it

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 "

"; 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;;
Copy after login

as above Table, the preview is

The next step is to extract. The extraction idea is to use regular rules to convert

Wait 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;
}
Copy after login

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!

Related labels:
php
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
.