为模拟 URL Rewrite 添加相对路径转绝对路径函数
最头疼的就是正则了,不过这次研究了两天(PS:时间真够长的),终于完成了相对路径转绝对路径函数,代码虽然不长,花的时间可真够多。
经过测试找到最快的一种,另一种也能实现很好的转换,但速度相对慢一些。
下载: UrlRewrite.php
/**
* 将相对路径转换为绝对路径地址,但不转换包括 http:、https:、ftp:、javascript:和/ 开头的字符串
*
* @param string $content 需要转换的文本或字串
* @param string $virtual_path 虚拟路径名称,请以 /folder_name/ 形式出现
* @return string
*/
function r2a($content, $virtual_path='/') {
$content = preg_replace('/( src=| href=| action=| href="| src="| action="| href=\'| src=\'| action=\'|location=\')(?!"|\'|\/|' . addcslashes($virtual_path, "/.+(){}[]^$!") . '|' . 'http:|https:|ftp:|javascript:|mailto:|' . 'ed2k:|thunder:|talkto:|skype:|msnim:|' . 'wangwang:|callto:|#)/isSU', '\\1' . $virtual_path, $content);
return $content;
}
* 将相对路径转换为绝对路径地址,但不转换包括 http:、https:、ftp:、javascript:和/ 开头的字符串
*
* @param string $content 需要转换的文本或字串
* @param string $virtual_path 虚拟路径名称,请以 /folder_name/ 形式出现
* @return string
*/
function r2a($content, $virtual_path='/') {
$content = preg_replace('/( src=| href=| action=| href="| src="| action="| href=\'| src=\'| action=\'|location=\')(?!"|\'|\/|' . addcslashes($virtual_path, "/.+(){}[]^$!") . '|' . 'http:|https:|ftp:|javascript:|mailto:|' . 'ed2k:|thunder:|talkto:|skype:|msnim:|' . 'wangwang:|callto:|#)/isSU', '\\1' . $virtual_path, $content);
return $content;
}

04月 20th, 2007 at 21:39:31
这个怎么使用阿。怎么加到模拟 URL Rewrite里,由于路径不对,CSS样式丢失了。
04月 28th, 2007 at 09:12:51
这是做什么用的啊?
对了,我在pjhome的论坛找屏蔽垃圾评论的方法,找到你这,照着你说的做了,不知道哪里出错,还是不行~ 还有别的方法吗?