求助,关于PHP

和尚@无名很丑没照片 2008-03-14 15:59:16   来自: 和尚@无名很丑没照片 (北京)

  原来是"newshow.php?cate=2&id=5"用来show出第二类的第五条新闻
  现在是"newshow.php/2,5.html"
  
  PHP代码
  if(@$path_info =$_SERVER["PATH_INFO"]){
   if (preg_match("/\/(\d+),(\d+)\.html/si",$path_info,$arr_path)) {
   $cateid =intval($arr_path[1]);
   $id=intval($arr_path[2]);
   }
  }
  
  
  功能是没有问题了。但是,
  图片和css的链接就不对了,以前是"../images/" 现在又多了一级了,要变成"../../"才行。于是我想办法啊。
  使用缓存,把得到的缓存里的内容($result)用"str_replace("../","../../",$result);"
  再打印出来。这样图片和css等的路径是对了。
  但是,还有个问题。以前同级的链接不对。
  以前采用的是相对路径,链接到首页index.php等等的页面是可以的,
  现在链接都是这样了 "newshow.php/index.php" "newshow.php/about.php"
  怎么解决?再把缓存里的内容用正则替换
  仔细看看源码里。链接是这样的"<a href="index.php"",只要把index.php加上"../"就好了
  我这样替换行不?
  
  PHP代码
  preg_replace("/href=\"(\w+)\.php/si","href="../$1.php",$result)
  


欢迎推荐小组话题,请先登录或注册

快速注册

你的email地址:
请填写email 用于确认你的身份, 豆瓣绝不会公开你的email。

给自己设一个密码:
请填写长度大于3的密码 你需要用它登录, 请使用英文字母、符号或数字。

给自己起一个名号:
起个名号吧 中、英文均可。



代表

2008-03-14 16:00:37 代表

  不懂



和尚@无名很丑没照片

2008-03-14 16:06:21 和尚@无名很丑没照片 (北京)

  找个懂的进来给我解决下



大饼博士

2008-03-14 19:18:41 大饼博士 (济南)

  简单的办法 绝对路径




想参加讨论,请先登录或注册

快速注册

你的email地址:
请填写email 用于确认你的身份, 豆瓣绝不会公开你的email。

给自己设一个密码:
请填写长度大于3的密码 你需要用它登录, 请使用英文字母、符号或数字。

给自己起一个名号:
起个名号吧 中、英文均可。

© 2005-2008 douban.com, all rights reserved 关于豆瓣 · 社区指导原则 · 隐私原则 · 豆瓣服务(API)