|
|
|
| Есть следующий код, хочу написать универсальное регулярное выражение для изъятия ссылок и их контентов с WEB страницы. Занимаюсь регулярными выражениями не очень давно, но уже уразумел их необходимость и превосходство, по сравнению с простыми строковыми функциями. Помогите плз, может вместе напишем!!!
$html = 'asdasdas<a id="sexOl" href="temp1.html"><img src="asdasd" asdasd name=uaa></a>
poi<a hert=asdasd href="temp2.html" target="_blank" ><font>temp2</font></a>
<a id="sexOl" href= " temp3.html " >temp3</a>';
$my1 = "/(?:.*)href[\s]*=\s*(?:[\'\"])\s*(.*)\s*(?:[\"\'])\s*>(.*)<\/a\s*>/iX";
$my = split('<a', $html);
for ($j=1;$j<sizeof($my);$j++){
print htmlspecialchars($my[$j]).'<br>';
preg_match_all($my1, $my[$j], $anchors);
unset($anchorst[0]);
print '<pre>';
print_r($anchors);
print '</pre><br><br>';
}
|
Баг в том что если ссылка имеет после href="temp2.html" какие либо параметры, например target="_blank", то ссылка берётся не temp2.html, а temp2.html" target"=_blank, может, кто объяснит, уже неделю мучаюсь!!! | |
|
|
|
|
|
|
|
для: Inba
(07.09.2006 в 17:28)
| | Я делаю так:
<?
$host = "visavi.net"; //хост откуда берём
$path = "/index.php?".$_SERVER['QUERY_STRING'];
$fp = fsockopen($host,80,$errno,$errstr,30);
if(!$fp) echo"$errstr ($errno)<br />\n";
else{
$headers = "GET $path HTTP/1.0\r\n";
$headers .= "Host: $host\r\n";
$headers .= "Accept: *\r\n";
$headers .="Accept-Charset: UTF-8\r\n"; // <<====
$headers .= "Accept-Charset: *\r\n";
$headers .= "Accept-Encoding: deflate\r\n";
$headers .= "Accept-Language: ru\r\n";
$headers .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; ru) Opera 8.01\r\n\r\n";
fwrite($fp,$headers);
while($text != "\r\n") $text = fgets($fp,128);
$text = "";
while(!feof($fp)) $text .= fgets($fp,4096);
fclose($fp);
}
$hostt=$_SERVER['HTTP_HOST'];
$text=ereg_replace("Мир скриптов","hintoz StudiO",$text);
$text=ereg_replace("visavi.net",$hostt,$text);
$text=ereg_replace('<a href="http://visavi.net?">© Visavi.net</a>','<a href="http://wap.hinto.info/">hintoz StudiO</a>',$text);
$text=ereg_replace('<a href="http://wap-motor.com">Powered by Wap-Motors</a>','<a href="http://wap.hinto.info/">Powered by hintoz StudiO</a>',$text);
##------------------------------ заголовок -----------------------------------##
header("Content-type:text/vnd.wap.wml;charset=utf-8");
print "$text";
?>
|
| |
|
|
|