腦友記廣場 -> 新手上路 -> url link 的處理 登錄 -> 註冊 -> 回復主題 -> 發表主題

yuenlong 2007-04-16 20:04
今天給一些不歸一的 url link 弄得頭也大了

想做一個 universal page_view.php 的東西

輸入時把 parent directory 及 html file name 分開,好似咁

details.php?section=http://xxx.com/abc/&page=zzzz.html

到時,打開內容時︳我就把可以合拼左佢,requesturl = $section$page

當中途有 <A HREF=yyyy.html> 時,我可以插番個 parent directory ( $section ) 入去

<A HREF=http://xxx.com/abc/yyyy.html>

大部份的網頁都 okay .....


但係咁樣的話,佢有一兩頁時佢又唔係好歸一咁響網頁內使用 <A HREF=yyyy.html>,有陣時變左 <A HREF=special/pppp.html> ,咁樣就會跳左去另一個 directory ,我本來打算把 parent directory 拼 file name 的方法就唔得了

~~~

好似呢一頁,http://www.bustop.info/ctb/index2.shtml

我本來分開了 http://www.bustop.info/ctb/ 同埋 index2.shtml,因為留番頭一個 parameter 來做內容中的 a href 加番條 path 入去,但係呢一頁的連結就跳去其他地方 <A HREF=/special/tun-698r.shtml>

~~~

好似呢一頁,http://www.bustop.info/nwfb/index1.shtml

我保留了 http://www.bustop.info/nwfb/ 方便我跳頁時用,於是按下 25 號巴士跳去 http://www.bustop.info/nwfb/nwfb-25.shtml,但係佢裡頭有一些係

<A HREF=/nwfb/nwfb-19.shtml>
<A HREF=/ctb/ctb-12m.shtml>

二個唔同夾層的地方,攪到我的 url pointers 不能起作用了

maninnet 2007-04-16 22:07
幸好, 是在同一個 server/domain 內, 則比較容易處理.

在 html 內, href 所指向相對 url 位置, 如用 / 開始的, 就表示從 root 開始.

在 route.php 內, 這一句:
$line=eregi_replace("A HREF=    /special","A HREF=special",$line);
如果刪去 / 則傳送去 details.php 時, 根本不能知道是從 root 開始. 所以我作了 remark.
// $line=eregi_replace("A HREF=    /special","A HREF=special",$line);

在 detail.php 中, 我增加了一段:
if (substr($page,0,1)=="/")
{
  $requesturl = "http://www.bustop.info".$page;
}
else
{
  $requesturl = "$section$page";
}
如果 $page 第一個字元為 / 的, url 就要為 http://www.bustop.info/$page
否則的話, 用回原來的寫法.

yuenlong 2007-04-16 23:47
謝謝版主,你是最好的老師啊 !!!

好神奇,這是點作用的哩 ?

if (substr($page,0,1)=="/")

maninnet 2007-04-17 00:11
如果 $page 第 1 個字元(php 從零開始) 為 / 的話
就用 http://www.bustop.info 連接 $page
否則
就用 $section 連接 $page

就咁簡單


查看完整版本: [-- url link 的處理 --] [-- top --]


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

You can contact us