Вопрос по dom, parsing, php – Php разбирает html dom и подсчитывает конкретные строки

1

Я использую & quot;Simple php DOM Parser& Quot; проанализировать HTML-таблицу и сосчитать ее строку.

Я решил подсчитать все строки (tr) в нем с помощью этого кода:

$rows = $table->find('.trClass');
$count = count($rows);
echo $count;

И я правильно получаю количество всех строк в таблице.

Теперь я хочу считать только те строки, которые содержат конкретныйtd (с определенной строкой).
Можно предположить, что я хочу считать только строки с этим тд:

<td class="tdClass" align="center" nowrap="">TARGET STRING</td>

Как я могу изменить первый код, чтобы соответствовать этой области?

Я пытался использовать & quot; preg_match & quot; или & quot; preg_match_all & quot; но у меня нет большого опыта в этом, поэтому я скучаю по правильному синтаксису .. Я думаю.

Любая помощь очень ценится!

Ваш Ответ

2   ответа
0
$target = 'TARGET STRING';

$n_matchingrows = 0;

$rows = $table->find('tr.trClass');
foreach($rows as $row) {
    $cell = $row->find('td.tdClass[align=center][nowrap=""]', 0);
    if ($cell and $cell->innertext===$target) {
       $n_matchingrows += 1;
    }
}
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Riccardo Malesani
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Riccardo Malesani
1

<?php
$targetString = 'TARGET STRING';
$rows = $table->find('.trClass');

$count = 0;
foreach($rows as $row) {
    foreach($row->find('td') as $td) {
        if ($td->innertext === $targetString) {
            $count++;
            break;
        }
    }
}
Error: User Rate Limit Exceededstackoverflow.com/questions/10453380/… Riccardo Malesani
Error: User Rate Limit Exceeded Riccardo Malesani
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Riccardo Malesani
Error: User Rate Limit Exceeded

Похожие вопросы