腦友記廣場 -> 新手上路 -> 新手請教 登錄 -> 註冊 -> 回復主題 -> 發表主題

fjfzjm 2008-08-19 11:07
先謝謝maninnet老師的指導!感謝!


Question1:下面抽標題的php中,如何使標題逐行排列,而不堆在一起?

<?
  header('Content-type:text/html; charset=gb2312');
?>
<body><html>
  <head><META HTTP-EQUIV="Content-Type" CONTENT="text/html;

charset=gb2312">
 
  <?
  echo "<title>No1</title></head>\n";
    echo "<br>\n<b>No.1<br>\n</b><hr>\n";
$requesturl="http://bbs.tiexue.net/ShowClass_27_1.html";
    if($fp=fopen("$requesturl","r"))
  {
    while(!feof($fp))
  {
    $line=fgets($fp,512);
   
    if(eregi("·<a class",$line))
{
$outtext=$outtext.$line;
$line=fgets($fp,512);  

$outtext=$outtext.$line."</a>";
}

    }
    fclose($fp);
  }
  $outtext = eregi_replace("<img","<li><img",$outtext);
$allowed_tags = "<a>,<li>";
$outtext = strip_tags($outtext, $allowed_tags);


$outtext = eregi_replace(".html","view_t.php",$outtext);
echo($outtext);
 
  ?>
  <hr>
 
  </body></html>

fjfzjm 2008-08-19 11:13
Question2:下面這個抽內文的php錯在哪里?


<html><head><title>No1</title></head>
<body>
<B>No1</b>
<hr>
<?
$news_id=$_GET['_blank href'];

$baseurl = "http://bbs.tiexue.net/";
$requesturl = "http://bbs.tiexue.net/$news_id.html";
if ($fp = fopen("$requesturl", "r"))
{
while(!feof($fp))
{
  $line .= fgets($fp,1024);
}
fclose($fp);
}
$line = eregi_replace("src=\"","src=\"$baseurl",$line);
$line = eregi_replace("align=\"left\"","",$line);
echo($line);
?>
<br><hr>

</body></html>

fjfzjm 2008-08-19 15:39

maninnet 2008-08-19 21:05
如何使標題逐行排列,而不堆在一起?

加一句:
$outtext = eregi_replace("</a>","</a><br>\n",$outtext);

maninnet 2008-08-19 21:50
Question2:下面這個抽內文的php錯在哪里?

只看程式, 沒有什麼錯處. 再隨便到一個網頁:
http://bbs.tiexue.net/post_2990537_1.html
檢視原始碼, 會發現所有圖片, 均採用 uri 的形式
所以以下兩句可以刪掉

fjfzjm 2008-08-19 22:00
第一個php文件中的:
$outtext = eregi_replace(".html","view_t.php",$outtext);
是否有錯呀?
總之無法顯示內文,點擊t.php中的鏈接后,ie出現:http://localhost/post2_2990209_1.html之類,提示找不到網頁!

改成:
$outtext = eregi_replace('_blank href=','_blank href=view_t.php?link=',$outtext);
view_t.php中開頭改為:
$news_id=$_GET['link'];

$baseurl = "http://bbs.tiexue.net/";
$requesturl = "http://bbs.tiexue.net/$news_id";

這樣可以看到內文了,但是看到的是整個網頁的內容,不是簡潔的文本!

fjfzjm 2008-08-19 22:10
以下這個php文件您修改后顯示標題十分成功,不過我的顯示內文的程序還是失敗,您能指導下嗎?先謝謝了!!
<?
  header('Content-type:text/html; charset=gb2312');
?>
<body><html>
  <head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
 
  <?
  echo "<title>第一財經日報</title></head>\n";
    echo "<br>\n<b>第一財經日報<br>\n</b><hr>\n";

  $baseurl="http://www.china-cbn.com/news/";
  $requesturl="http://www.china-cbn.com/news/NewsList.aspx?NewsListType=1&NewsChannelId=000";
   
    if($fp=fopen("$requesturl","r"))
  {
    while(!feof($fp))
  {
    $line=fgets($fp,512);
    if(eregi("· <a href",$line))
  {
  $outtext=$outtext.$line;
  $line=fgets($fp,512);  
  $line=fgets($fp,512);
  $outtext=$outtext.$line."</a><br>";
  }

    }
    fclose($fp);
  }
  $outtext = eregi_replace("<img","<li><img",$outtext);
$allowed_tags = "<a>,<li>";
$outtext = strip_tags($outtext, $allowed_tags);
$outtext = eregi_replace("target=\"_blank\"","",$outtext);
$outtext = eregi_replace("</a>","</a><br>\n",$outtext);
$outtext = eregi_replace("<a href='","<a href='view_no1.php?news=",$outtext);
echo($outtext);
 
  ?>
  <hr>
 
  </body></html>


顯示內文的程序,失敗了!!!
請問是否和上面程序末尾的:
$outtext = eregi_replace("<a href='","<a href='view_no1.php?news=",$outtext);
以及下面程序中的:
$news=$_GET['news'];
有關呀?? 我是電腦菜鳥,寫php只為玩我的palm TX,以前寫handstory的script
clip,不過最近hangstory的script clip在我家的電腦上不能用了,改用php試試,請您多指點!謝謝!





顯示內文的程序:



<?
<html><head><title>第一財經日報</title></head>
<body>
<B>第一財經日報</b>
<hr>
<?
$news=$_GET['news'];

$baseurl = "http://www.china-cbn.com";
$requesturl = "http://www.china-cbn.com/$news";
if ($fp = fopen("$requesturl", "r"))
{
while(!feof($fp))
{
$line .= fgets($fp,1024);
}
fclose($fp);
}
$line = eregi_replace("src=\"","src=\"$baseurl",$line);
$line = eregi_replace("align=\"left\"","",$line);
echo($line);
?>
<br><hr>

</body></html>

?>




另:將上面顯示內文的程序頭尾?>去掉,可以顯示全部內文的網頁,不能顯示簡潔的文本!


查看完整版本: [-- 新手請教 --] [-- top --]


Powered by PHPWind v4.0.1 Code © 2003-05 PHPWind
Gzip enabled

You can contact us