|
|
|
| Народ подскажите способ как попроще вырезать урлы со страницы.
Есть строка типа:
"Блалалалалала <a href="http://www.lalalalala.ru/idex.php?lala=lala" title="lala"> блалбалалала"
мне нужно вырезать весь урл http://www.lalalalala.ru/idex.php?lala=lala
Я написал код, но он весьма громоздкий, может можно как-то по проще сделать ?
Вот код:
function prov($cod)
{
$href = @strpos($cod,"href",0)+5;
if ($href == "5")
{ $href = @strpos($cod,"SRC",0)+4;
if ($href == "4")
{ $href = @strpos($cod,"src",0)+4; }
}
$ugl = strpos($cod, ">",$href);
$dlina = $ugl - $href;
$text = substr($cod,$href,$dlina);
ereg("['\"]",$text,$regs);
if ($regs[0] != "")
{
$sim = strpos($text, $regs[0],0);
$sim2 = strpos($text, $regs[0],4)-1;
$http = strpos($text, "http:",0);
if ($http != "")
{
$sim = $http+6;
}
$dlina = $sim2 - $sim;
$text2 = substr($text, $sim+1,$dlina);
ereg("[/\\]",$text2,$regs2);
if ($regs2[0] != "")
{
$sim3 = strpos($text2, $regs2[0],3);
$url = substr($text2,0,$sim3);
}
else { $url = $text2; }
}
else
{
$http = strpos($text, "ttp:",0);
if ($http != "")
{
$text = substr($text,7);
}
ereg("[/\\ ]",$text,$regs);
if ($regs[0] != "")
{
$sim = strpos($text, $regs[0],8);
$url = substr($text,0,$sim);
}
else { $url = $text; }
}
return($url);
}
|
Весьма громоздко с кучей проверок =( Может есть какие-то функции с помощью которых это можно упростить ? | |
|
|
|
|
|
|
|
для: trix
(02.02.2007 в 16:52)
| | Можно использовать регулярные выражения.
<?php
$text = 'Есть строка типа:
"Блалалалалала <a href="http://www.lalalalala.ru/idex.php?lala=lala" title="lala"> блалбалалала"
мне нужно вырезать весь урл http://www.lalalalala.ru/idex.php?lala=lala
Я написал код, но он весьма громоздкий, может можно как-то по проще сделать ?';
if (preg_match_all("#<a\s+[^>]*href=['\"]?([^'\"\s>]+)['\"]?[^>]*>#is", $text, $regs))
{
echo "<pre>";
print_r ($regs[1]);
}
?>
|
Вырезать нужно ссылки из тегов, после "href=" ? | |
|
|
|
|
|
|
|
для: kasmanaft
(02.02.2007 в 16:58)
| | Класс =)
Спасибо за помощь, я так и думал что нужно регулярные выражения использовать, но все не могу с ними разобраться толком, если не трудно может мануальчик на синтаксис посоветуете ? | |
|
|
|
|
|
|
|
для: trix
(02.02.2007 в 17:12)
| | Не, не посоветую :)
Лежит на php.net, но я его не читал ... вроде понятно.
http://www.php.net/manual/ru/reference.pcre.pattern.syntax.php
Тут на сайте можно скачать книгу Фридла по рег. выражениям, вот ее я бы посоветовал почитать ... хотя бы пару глав. | |
|
|
|
|
|
|
|
для: trix
(02.02.2007 в 17:12)
| | Возможно вам будет интересна ссылка http://www.softtime.ru/info/fridl.php. | |
|
|
|