PHP для идиотов
→ Многопоточность • 7 мая 2011 г. 19:16
PHP для идиотов
→ Как можно оптимизировать код • 7 мая 2011 г. 19:08
PHP для идиотов
→ Как можно оптимизировать код • 7 мая 2011 г. 12:31
Написал парсер данных. Подскажите как можно было сделать проще? Стрелка должна быть в отдельной переменной.<?php$a = file_get_contents("http://nagranitse.ru/");preg_match('#(?>число машин|number of cars).*<td>(?>(\d+)<|(\d+)\s(.*)<).*(?>примерное время ожидан...
Написал парсер данных. Подскажите как можно было сделать проще? Стрелка должна быть в отдельной переменной.
<?php
$a = file_get_contents("http://nagranitse.ru/");
preg_match('#(?>число машин|number of cars).*<td>(?>(\d+)<|(\d+)\s(.*)<).*(?>примерное время ожидания|estimated waiting time).*<td>(.*)</td>.*(?>последнее время обновления|last updated).*<td>(.*)</td>#isU', $a, $one);
preg_match('#(?>число машин|number of cars).*<td>.*<td>(?>(\d+)<|(\d+)\s(.*)<).*(?>примерное время ожидания|estimated waiting time).*<td>.*<td>(.*)</td>.*(?>последнее время обновления|last updated).*<td>.*<td>(.*)</td>#isU', $a, $two);
preg_match('#(?>число машин|number of cars).*<td>.*<td>.*<td>(?>(\d+)<|(\d+)\s(.*)<).*(?>примерное время ожидания|estimated waiting time).*<td>.*<td>.*<td>(.*)</td>.*(?>последнее время обновления|last updated).*<td>.*<td>.*<td>(.*)</td>#isU', $a, $three);
echo "<html><head><style type='text/css'>";
echo "table{width:600px; text-align:center; border-spacing:0;}";
echo "th,td{padding:5px 0;}";
echo "th{background:#D2DCE5;}";
echo "th:first-child{border-radius:10px 0 0 0; -webkit-border-radius:10px 0 0 0; -moz-border-radius:10px 0 0 0;}";
echo "th+th+th{border-radius:0 10px 0 0; -webkit-border-radius:0 10px 0 0; -moz-border-radius:0 10px 0 0;}";
echo "td{border:1px solid #ccc;}";
echo "tr+tr+tr+tr td:first-child{border-radius:0 0 0 10px; -webkit-border-radius:0 0 0 10px; -moz-border-radius:0 0 0 10px;}";
echo "tr+tr+tr+tr td+td+td{border-radius:0 0 10px 0; -webkit-border-radius:0 0 10px 0; -moz-border-radius:0 0 10px 0;}";
echo "</style></head><body>";
if($one[1] !== "" & $two[1] !== "" & $three[1] !== "") {
echo "<table>";
echo "<tr><th>Торфяновка</th><th>Брусничное</th><th>Светогорск</th></tr>";
echo "<tr><td>$one[1]</td><td>$two[1]</td><td>$three[1]</td></tr>";
echo "<tr><td>$one[4]</tr><td>$two[4]</td><td>$three[4]</td></tr>";
echo "<tr><td>$one[5]</td><td>$two[5]</td><td>$three[5]</td></tr>";
echo "</table>";
} elseif($one[1] !== "" & $two[1] !== "" & $three[1] == "") {
echo "<table>";
echo "<tr><th>Торфяновка</th><th>Брусничное</th><th>Светогорск</th></tr>";
echo "<tr><td>$one[1]</td><td>$two[1]</td><td>$three[2] $three[3]</td></tr>";
echo "<tr><td>$one[4]</td><td>$two[4]</td><td>$three[4]</td></tr>";
echo "<tr><td>$one[5]</td><td>$two[5]</td><td>$three[5]</td></tr>";
echo "</table>";
} elseif($one[1] !== "" & $two[1] == "" & $three[1] !== "") {
echo "<table>";
echo "<tr><th>Торфяновка</th><th>Брусничное</th><th>Светогорск</th></tr>";
echo "<tr><td>$one[1]</td><td>$two[2] $two[3]</td><td>$three[1]</td></tr>";
echo "<tr><td>$one[4]</td><td>$two[4]</td><td>$three[4]</td></tr>";
echo "<tr><td>$one[5]</td><td>$two[5]</td><td>$three[5]</td></tr>";
echo "</table>";
} elseif($one[1] !== "" & $two[1] == "" & $three[1] == "") {
echo "<table>";
echo "<tr><th>Торфяновка</th><th>Брусничное</th><th>Светогорск</th></tr>";
echo "<tr><td>$one[1]</td><td>$two[2] $two[3]</td><td>$three[2] $three[3]</td></tr>";
echo "<tr><td>$one[4]</td><td>$two[4]</td><td>$three[4]</td></tr>";
echo "<tr><td>$one[5]</td><td>$two[5]</td><td>$three[5]</td></tr>";
echo "</table>";
} elseif($one[1] == "" & $two[1] !== "" & $three[1] !== "") {
echo "<table>";
echo "<tr><th>Торфяновка</th><th>Брусничное</th><th>Светогорск</th></tr>";
echo "<tr><td>$one[2] $one[3]</td><td>$two[1]</td><td>$three[1]</td></tr>";
echo "<tr><td>$one[4]</td><td>$two[4]</td><td>$three[4]</td></tr>";
echo "<tr><td>$one[5]</td><td>$two[5]</td><td>$three[5]</td></tr>";
echo "</table>";
} elseif($one[1] == "" & $two[1] !== "" & $three[1] == "") {
echo "<table>";
echo "<tr><th>Торфяновка</th><th>Брусничное</th><th>Светогорск</th></tr>";
echo "<tr><td>$one[2] $one[3]</td><td>$two[1]</td><td>$three[2] $three[3]</td></tr>";
echo "<tr></div><td>$one[4]</td><td>$two[4]</td><td>$three[4]</td></tr>";
echo "<tr></div><td>$one[5]</td><td>$two[5]</td><td>$three[5]</td></tr>";
echo "</table>";
} elseif($one[1] == "" & $two[1] == "" & $three[1] !== "") {
echo "<table>";
echo "<tr><th>Торфяновка</th><th>Брусничное</th><th>Светогорск</th></tr>";
echo "<tr><td>$one[2] $one[3]</td><td>$two[2] $two[3]</td><td>$three[1]</td></tr>";
echo "<tr><td>$one[4]</td><td>$two[4]</td><td>$three[4]</td></tr>";
echo "<tr><td>$one[5]</td><td>$two[5]</td><td>$three[5]</td></tr>";
echo "</table>";
} elseif($one[1] == "" & $two[1] == "" & $three[1] == "") {
echo "<table>";
echo "<tr><th>Торфяновка</th><th>Брусничное</th><th>Светогорск</th></tr>";
echo "<tr><td>$one[2] $one[3]</td><td>$two[2] $two[3]</td><td>$three[2] $three[3]</td></tr>";
echo "<tr><td>$one[4]</td><td>$two[4]</td><td>$three[4]</td></tr>";
echo "<tr><td>$one[5]</td><td>$two[5]</td><td>$three[5]</td></tr>";
echo "</table>";
}
echo "</body></html>";
?>