Тема: Регулярний вираз.

Вітаю шановне панство.
Маю проблему. Не можу скласти працюючого регулярного виразу.
Є html на подобі цього:

Прихований текст

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="keywords" content="пошук абітурієнтів,рейтингові списки 2010-2013, статистика вступу,прохідний бал,інформація про вузи україни,пошук заяв абітурієнтів" />
    <meta name="description" content="Пошук заяв абітурієнтів. Оцінка прохідного балу на обраний напрям підготовки. Рейтингові списки вузів 2010-2013. Статистика всупу у вищі навчальні заклади" />
    <meta name="author" content="Wapweb">

    <title>
        Прохідний бал та статистика напряму    </title>

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>

</head>

<body>


<script>
    $(document).ready(function(){
        setTimeout(function(){
            google.load("visualization", "1", {packages:["corechart"],"callback" : drawChart1});
        }, 1);

    });
    //google.load("visualization", "1", {packages:["corechart"]});
</script>

<div class="row" style="margin-top:10px;">
    
                    <div class="col-md-6">
                <div id="chart_div" style=" height: 300px; border: 1px solid #eaeaea;">Завантаження діаграми </div>
            </div>
                            <div class="col-md-6">
                <div id="chart_div1" style=" height: 300px; border: 1px solid #eaeaea;">Завантаження діаграми</div>
            </div>
        
    </div>
        <div class="row" style="margin-top: 10px;">
        <div class="col-md-6">
            <div id="chart_div2" style=" height: 300px; border: 1px solid #eaeaea;">Завантаження діаграми </div>
        </div>
        <div class="col-md-6">
            <div id="chart_div3" style=" height: 300px; border: 1px solid #eaeaea;">Завантаження діаграми </div>
        </div>
    </div>
    
    <div class="row" style="margin-top: 10px;">
        <div class="col-md-12">
            <table id="table" class="table table-bordered table_s">
                <thead style="background: #B1CDDF;">
                <tr>
                    <th rowspan="2">Рік</th>
                    <th rowspan="2">Кількість заяв</th>
                    <th colspan="2">Прохідний бал</th>
                    <th colspan="2">Обсяг прийому</th>
                </tr>
                <tr>
                    <th>Бюджет</th>
                    <th>Контракт</th>
                    <th>Всього місць</th>
                    <th>Бюджетні місця</th>
                </tr>
                </thead>
                <tbody>
                    <tr align='center'>
                                    <td>2011</td>
                                    <td>359</td>
                                    <td>586.7</td>
                                    <td>572.9</td>
                                    <td>150</td>
                                    <td>22</td>
                                </tr><tr align='center'>
                                    <td>2012</td>
                                    <td>185</td>
                                    <td>612.9</td>
                                    <td>564.5</td>
                                    <td>150</td>
                                    <td>35</td>
                                </tr><tr align='center'>
                                    <td>2013</td>
                                    <td>544</td>
                                    <td>668.9</td>
                                    <td>591.1</td>
                                    <td>75</td>
                                    <td>23</td>
                                </tr>                </tbody>
            </table>
        </div>
    </div>



<script type="text/javascript">
    function drawChart1() {
                var data = google.visualization.arrayToDataTable([
            ['Роки', 'Бюджет']
            ,[ '2011', 586.7 ],[ '2012', 612.9 ],[ '2013', 668.9 ]        ]);
        data.addColumn({type: 'string', role: 'annotation'});

        var view = new google.visualization.DataView(data);
        view.setColumns([0, 1,
            { calc: "stringify",
                sourceColumn: 1,
                type: "string",
                role: "annotation" }
        ]);

        var options = {
            title: "Прохідний бал на бюджет",
            chartArea: {left:55},
            vAxis: {title:'Загальний бал',titleTextStyle: {color: 'black'}},
            hAxis: {title: 'Роки', titleTextStyle: {color: 'black'}},
            pointSize: 5,
            colors: ['#336699','black']
        };

        var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
        chart.draw(view, options);
        
                //
        var data = google.visualization.arrayToDataTable([
            ['Роки', 'Контракт']
            ,[ '2011', 572.9 ],[ '2012', 564.5 ],[ '2013', 591.1 ]        ]);
         data.addColumn({type: 'string', role: 'annotation'});

        var view = new google.visualization.DataView(data);
        view.setColumns([0, 1,
            { calc: "stringify",
                sourceColumn: 1,
                type: "string",
                role: "annotation" }
        ]);

        var options = {
            title: "Прохідний бал на контракт",
            chartArea: {left:55},
            vAxis: {title:'Загальний бал',titleTextStyle: {color: 'black'}},
            hAxis: {title: 'Роки', titleTextStyle: {color: 'black'}},
            pointSize: 5,
            colors: ['#336699','black']
        };

        var chart = new google.visualization.LineChart(document.getElementById('chart_div1'));
        chart.draw(view, options);
        

                var data1 = google.visualization.arrayToDataTable([
            ['Роки','Місця(Всього)','Місця(Бюджет)']
            ,[ '2011', 150, 22 ],[ '2012', 150, 35 ],[ '2013', 75, 23 ]
        ]);
        data1.addColumn({type: 'string', role: 'annotation'});

        view = new google.visualization.DataView(data1);
        view.setColumns([0, 1,
            { calc: "stringify",
                sourceColumn: 1,
                type: "string",
                role: "annotation" },
            2,
            { calc: "stringify",
                sourceColumn: 2,
                type: "string",
                role: "annotation" }
        ]);

        var options1 = {
            title: "Обсяг прийому",
            chartArea: {left:55},
            vAxis: {title:'Кількість місць',titleTextStyle: {color: 'black'},
                viewWindowMode: 'explicit',
                viewWindow: {
                    min: '0'
                }
            },
            hAxis: {title: 'Роки', titleTextStyle: {color: 'black'}},
            colors: ['#336699','#000000']
        };

        var chart1 = new google.visualization.ColumnChart(document.getElementById('chart_div2'));
        chart1.draw(view, options1);
        
        //
                var data1 = google.visualization.arrayToDataTable([
            ['Роки','Заяв']
            ,[ '2011', 359],[ '2012', 185],[ '2013', 544]
        ]);
        data1.addColumn({type: 'string', role: 'annotation'});

        var view = new google.visualization.DataView(data1);
        view.setColumns([0, 1,
            { calc: "stringify",
                sourceColumn: 1,
                type: "string",
                role: "annotation" }

        ]);

        var options1 = {
            title: "Кількість заяв",
            chartArea: {left:55},
            vAxis: {title:'Кількість заяв',titleTextStyle: {color: 'black'},
                viewWindowMode: 'explicit',
                viewWindow: {
                    min: '0'
                }
            },
            hAxis: {title: 'Роки', titleTextStyle: {color: 'black'}},
            colors: ['#336699','#000000'],
            isStacked: true
        };

        var chart1 = new google.visualization.ColumnChart(document.getElementById('chart_div3'));
        chart1.draw(view, options1);
            }

</script>

</body>
</html>

Мені потрібно витягнути вміст усіх div блоків, які мають наступні властивості:

class="row" style="margin-top: 10px;"

Підкажіть будь ласка, як скласти регулярку.

2

Re: Регулярний вираз.

Вже давно на це відповіли...

3

Re: Регулярний вираз.

Я дам відповідь але без регулярки:

1 хв налаштування

composer require fiv/parser:1.*

2 створюєте файл і закидуєте такий код
3. ваші дані мають бути у файлі 1.html (як змінити, думаю ви здогадаєтесь)

#!/usr/bin/env php
<?php

  require_once 'vendor/autoload.php';

  $data = file_get_contents('1.html');
  $html = new \Fiv\Parser\Html($data);
  $items = $html->_outerHtml('//div[@class="row"]'); 
  
  echo "\n***" . __LINE__ . "***\n<pre>" . print_r($items, true) . "</pre>\n";
  
  die();

будуть питання по документації - пишіть ;)