腦友記廣場 -> 新手上路 -> 縮減 index 行數 登錄 -> 註冊 -> 回復主題 -> 發表主題

yuenlong 2007-04-10 18:10
請問一下,在 pull down menu 中找到文章的 index,但係又太長的話,可否把行數縮減到指定數目哩,例如最近十行八行咁哩 ? 謝謝指教  

http://elife.maninnet.com/read.php?tid=795&page=e&fpage=1#a

maninnet 2007-04-10 18:38
修改 section.php, 可自行更改 $max 的數目, 現在是 = 10

<html><head><meta http-equiv="Content-Type" content="text/html; charset=big5"><title>快 周 刊</title></head>
<body>
快 周 刊 xpweekly.com<hr>
<?
$topic_id=$_GET['topic_id'];
$ref_id=$_GET['ref_id'];
$i = 0;
$max = 10;

$requesturl = "http://www.xpweekly.com/common/sub_pullDown.inc.php?topic_id=$topic_id&ref=$ref_id";
if ($fp = fopen("$requesturl","r")){
  while(!feof($fp) && ($i <= $max))
  {

    $tmpline = fgets($fp,256);
    if (eregi("<option value=",$tmpline))
    {
    $line = $line.$tmpline;
    $i++;
    }

  }
  fclose($fp);
}
eregi("--請選擇下列項目--</option>(.*)",$line,$matches);
$line = $matches[1];
$allowed_tags = "<a>,<center>,<ul>,<li>,<b>,<br>,<strong>";
$line=eregi_replace("option value","a href",$line);
$line=eregi_replace("http\://www.xpweekly.com/common/content_view.htm","content.php",$line);
$line=eregi_replace("</option>","</a><br>",$line);
$line=eregi_replace(" selected","",$line);
$line = strip_tags($line, $allowed_tags);
$line="".$line."";
echo($line);
?>
<hr>Powered by ManInNet Codes
</body></html>

yuenlong 2007-04-10 19:46
many thanks

進行得本來幾好,但係其中佢有兩款格式,另一款式係把 head, title 等內容重複地寫在 html 中,於是不能成功地真實的 link 抽出來,就不能把圖片成功顯示

原本頁面 : h77p://www.capital-weekly.com/common/index_1.htm?topic_id=1801

頭幾句己經告訴 base url 的位置

<base href="h77p://scmedia.com.hk/share/cw/0072/cover/20070410cover0012/content.htm">
<html>
<head>
<title>CAP

但係上面呢個 base href 等等的東東,卻在文中下半頁又出現一次

於是我這句就用不上

eregi("<base href=\"(.*)<html>",$line,$matches);

還想把上面紅色的 link 用把 $img_id 用作顯示相片用,請問用無好方法哩


我估可以用 番上面你教的方法,但係總係運用不到,請指一下哩

$tmpline = fgets($fp,256);
if (eregi("<option value=",$tmpline))
  {
   $line = $line.$tmpline;
   $i++;
  }







.

maninnet 2007-04-12 03:28
略加修改:

if ($fp = fopen("$requesturl","r")){
while(!feof($fp))
{

  $tmpline = fgets($fp,256);
  $line = $line.$tmpline;
  if (eregi("<base href",$tmpline))
  {
    $orginal = $tmpline;
  }
}
fclose($fp);
}

這樣, $orginal 就放了類似以下的內容:
<base href="http://scmedia.com.hk/share/cw/0049/cover/20061103cover0010/content.htm">

再去頭去尾, 就可得到原來的目錄供 img 使用
$orginal=eregi_replace("< base href\"","",$orgin);
$orginal=eregi_replace("content.htm\">","",$orgin);

yuenlong 2007-04-12 10:55
我試過了,並加入 echo 去睇下上面 $original 的值,但係乜都無,好似響 eregi("<base href" .. 撈唔到

最奇怪係,輸出版面可以睇到 $line 文字,但係輸出版面裡頭就無曬 <img> 圖片,因為如何 $original 是空空的,也應該有句 img src 的連結,最多是 broken link 罷了,我上載這個檔,可否幫忙看看。謝謝。








<html><head><meta http-equiv="Content-Type" content="text/html; charset=big5"><title>...</title></head>
<body>
<h3><b>...</b></h3><hr>
<?
$topic_id=$_GET['topic_id'];
$ref_id=$_GET['ref'];
$requesturl = "http://www.bellehk.com/common/belle_index.htm?topic_id=$topic_id&ref=$ref_id";
echo($requesturl."<br>");

if ($fp = fopen("$requesturl","r")){
while(!feof($fp))
{

$tmpline = fgets($fp,256);
$line = $line.$tmpline;
if (eregi("<base href=",$tmpline))
{
  $orginal = $tmpline;
}
}
fclose($fp);
}

echo($tmpline);
echo($original);


$orginal=eregi_replace("< base href=\"","",$orginal);
$orginal=eregi_replace("content.htm\">","",$orginal);



eregi("<table>(.*)",$line,$matches);

$line = $matches[1];
$allowed_tags = "<center>,<ul>,<li>,<b>,<br>,<img>,<strong>";
$line=eregi_replace("<p class=\"mbody\">","<BR>",$line);
$line=eregi_replace("<img src=\"zoom.gif","<!",$line);
$line=eregi_replace("img src=\"","img src=\"".$orginal."",$line);
$line=eregi_replace("Width=","><br><!",$line);
$line = strip_tags($line, $allowed_tags);
$line="".$line."";
echo($line);
?>
<hr>
<a href="belle.php">返 回 目 錄</a><br>
Powered by ManInNet Codes
</body></html>

maninnet 2007-04-12 12:09
我只將
$orginal=eregi_replace("< base href=\"","",$orginal);
改為
$orginal=eregi_replace("<base href=\"","",$orginal);

就沒問題.

順手加多句:
$line = eregi_replace("不得轉載(.*)$","不得轉載",$line);

剷去後面多餘的重覆。

yuenlong 2007-04-12 12:19
得得得!! 給之前的格式誤導了,這個格式沒有空隔,真不好意思,thanks!!

這句 $line = eregi_replace("不得轉載(.*)$","不得轉載",$line);

作用 是找出由 " 不得轉載 " 到尾的 不必要的內容刪走,這是一定會從第一個 " 不得轉載 " 開始的刪吧


完成了,放在這兒

http://elife.maninnet.com/read.php?tid=805&fpage=1


查看完整版本: [-- 縮減 index 行數 --] [-- top --]


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

You can contact us