Вземане на стойност между <td>

sentenello

Registered
Здравейте,
С file_get_contents вземам дадена информация от сайт която после я изкарвам да кажем по този начин.
Код:
<table><tr><td class="chas">15:00</td></tr></table>

Въпроса ми е как да взема стойността намираща се в тд с клас "chas" и да я сложа в някоя променлива за да мога да я "обработя"?
 
Код:
<table><tr><td class="chas">15:00<input type=hidden name=chas value="15:00" /></td></tr></table>
 
Проблема е че вземам информацията с file_get_contents и това което ми даваш няма как да проработи.

Целта ми е да направя нещо като str_replace, като това което се намира между <td class="chas"></td> да се увеличи с 2(часа). За целта трябва да взема това което се намира там, но не знам как.

Да кажем с str_replace да заменя полето, но идея си нямам как да вкарам и въпросния час в този код. Нямам си идея как да го променя защото този час във всяко поле е различен.
Код:
$str = str_replace('<td class="chas">(тук трябва да вземам часа по някакъв начин)</td>','<<td class="chas"></td>',$str);
 
http://php.net/manual/en/function.preg-match-all.php

PHP:
preg_match_all("|<td class="\chas\">(.*)</td>|U",
    "<td class=\"chas\">15:00</td></tr>",
    $out, PREG_SET_ORDER);


Примерно нещо такова трябва да е ... не съм го тествал.
 
Благодаря @index.
Това ме насочи и успях да се справя с подобен код. Имам обаче още един въпрос и ще го пусна в тази тема.

С explode разделям часа и се опитвам да го преправя.
Код:
$chasa=explode(':',$val[0]);
	 $proba= $chasa[0] *2;
при час 15:30, $proba извежда 0, а трябва да изведе 30. Когато обаче пробвам с
Код:
$chasa=explode(':',$val[0]);
	 $proba= $chasa[1] *2;
си извежда 60. Къде греша при опита си да умножа първото число по 2.
 
Странно но се справих с проблема. Ето го и решението.
Дадох print_r($val); и ми изкара Array ( [0] =>12:45[1] => 12:45 )
при което с explode разделих val[0] на две части и както знаете не искаше да ми ги пресмята. Тогава реших да пробвам с val[1] което е същото, но не знам защо проработи :D
 

Back
Горе