正则表达式 - 求解一个PHP正则匹配pattern?

WBOY
Freigeben: 2016-08-04 09:19:25
Original
1239 Leute haben es durchsucht

通过cURL抓一张带数据表的页面,只要得到TR下所有的单元格,用下面这种方法

<code>$content = 内容;
preg_match_all('/<td>(.*?)/',$content,$res);
<p>但是有两种情况无法匹配</p>
<pre class="brush:php;toolbar:false"><code><td>
            
                内容
                
            
        </td></code>
Nach dem Login kopieren
Nach dem Login kopieren

<code><td class="sorting_1">
            未付
            
            
            
            
            
            
            
            
            
        </td></code>
Nach dem Login kopieren
Nach dem Login kopieren

不知道为什么多了很多空格的单元格和带class的单元格无法匹配出来?由于不会正则,求一个pattern能够完全匹配出TD。
还有一个问题,页面上有两个table.一个用于各种条件筛选数据,一个盛放数据,如何只匹配盛放数据的那个table呢?

回复内容:

通过cURL抓一张带数据表的页面,只要得到TR下所有的单元格,用下面这种方法

<code>$content = 内容;
preg_match_all('/<td>(.*?)/',$content,$res);
<p>但是有两种情况无法匹配</p>
<pre class="brush:php;toolbar:false"><code><td>
            
                内容
                
            
        </td></code>
Nach dem Login kopieren
Nach dem Login kopieren

<code><td class="sorting_1">
            未付
            
            
            
            
            
            
            
            
            
        </td></code>
Nach dem Login kopieren
Nach dem Login kopieren

不知道为什么多了很多空格的单元格和带class的单元格无法匹配出来?由于不会正则,求一个pattern能够完全匹配出TD。
还有一个问题,页面上有两个table.一个用于各种条件筛选数据,一个盛放数据,如何只匹配盛放数据的那个table呢?

.在单行模式下无法匹配换行。
你可以用

<code>\s
匹配任意的空白符
\S
匹配任意不是空白符的字符</code>
Nach dem Login kopieren

举一反三啊,匹配带class的td

<code>/<td>([\s\S]+?)/
<p>匹配其中某个table的,同样举一反三啊,先从所有内容中匹配出table到一个数组中.</p>
<pre class="brush:php;toolbar:false"><code>/<table>([\s\S]+?)/
<p>然后看你要第几个,再用上面的正则匹配次不就好了。</p>
<p>还是那句话,举一反三啊!</p>

                            
            <p class="answer fmt" data-id="1020000006135113">
                                    
</p>
<pre class="brush:php;toolbar:false"><code>$pattern = "/<td.>([\s\S]*?)/";</td.></code>
Nach dem Login kopieren

我也不太会,应该可以

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!