|
|
|
| Вроде всё правильно делаю, а что то неполучается.
Первоначально строка выглядит так
<a name="4628125" class="stockno" href="vehicledetails.aspx?auctionid=4279234&itemid=4628125">2331155 </a>
|
Сам код скрипта
$pattern='|<a[\s]+name=\"[.*]+\"[\s]+class=\"stockno\"[\s]+href=\"vehicledetails.aspx?auctionid=[.*]+&itemid=(.*)\">|isU';
preg_match_all($pattern,$str,$out);
print_r($out);
echo "<p></p>";
print $out[0];
echo "<p></p>";
print $out[1];
echo "<p></p>";
print $out[2];
|
В браузер выводит
Array ( [0] => Array ( ) [1] => Array ( ) )
Array
Array
|
Суть в том что надо вытащить параметр itemid из ссылки | |
|
|
|
|
|
|
|
для: sata
(23.08.2006 в 23:38)
| | Вот, можно вот так сделать
<?
$str = '<a name="4628125" class="stockno" href="vehicledetails.aspx?auctionid=4279234&itemid=4628125">2331155</a>';
// $pattern='|<a[\s]+.*itemid=(.*)\">|isU'; - если не критично, можно и так
$pattern='|<a[\s]+name=\".*\"[\s]+class=\"stockno\"[\s]+href=\"vehicledetails\.aspx\?auctionid=.*&itemid=(.*)\">|isU';
preg_match($pattern,$str,$out);
echo $out[1];
?>
|
| |
|
|
|
|
|
|
|
для: kasmanaft
(24.08.2006 в 00:30)
| | Да но таких ссылок больше 1 тогда по теории используется preg_match_all | |
|
|
|
|
|
|
|
для: sata
(24.08.2006 в 18:52)
| | Всё с 1 разобрался, терь следующее идёт (Закон подлости).
Если $str брать из файла то всё идёт путём почему то, но если исходник вставлять в форму и обрабатывать то пусто (в массиве ничего нет) получается (Исходник - это html код страницы)
P.S. Данные передаются. При echo $str выводится правда не текст а web страница исходника
<form action="" method="post">
<textarea cols="100" rows="15" name="form_s"></textarea>
<input name="go" type="submit" value="Обработать">
</form>
<hr>
<?php
if(isset($_POST[go]))
{
// Обработка формы
$str = $_POST[form_s];
$pattern='|<a[\s]+name=\".*\"[\s]+class=\"stockno\"[\s]+href=\"vehicledetails\.aspx\?auctionid=.*&itemid=(.*)\">|isU';
preg_match_all($pattern,$str,$out,PREG_PATTERN_ORDER);
// Обработка результатов формы
print_r($out);
for ($i=0; $i< count($out[0]); $i++)
{
echo $out[1][$i]."\n";
}
}
unset($_POST[go]);
?>
|
| |
|
|
|