需要帮助特别是php工作,不知道该怎么做

时间:2010-03-05 00:21:19

标签: php

我想做点什么但是无法弄清楚如何做到这一点(我是php的新手)

假设我有一个URL列表,显示了这个preg_replace的实时内容,

$html = preg_replace('/\s(\w+:\/\/)(\S+)/', ' <a href="http://localhost/get.php?url=\\1\\2" target="_blank"> GO</a> ', $html);

我的输出就像

http://localhost/get.php?url=http://yahoo.com

很明显你可以在输出页面查看链接,现在我想在首页隐藏它们并让它们可点击并正常工作

类似于我们可以将链接更改为变量,然后通过点击来调用它们,并且在背景中可以执行与我们点击首页链接相同的内容

你看起来有点混乱:(

3 个答案:

答案 0 :(得分:0)

对不起,也许我不是很了解,但是,不是最好的approch在侧服务器中使用数组并使用另一个Get变量来做到这一点吗?

例如?link = yahoo

然后

在url数组中查找链接?

顺便说一下,我正在使用NoScript并向我报告,就像警告一样......

答案 1 :(得分:0)

您可以将网址保存到$ _SESSION变量中,当某些用户点击该链接时,会从$ _SESSION中重新检索网址并重定向到该网址...

//page1 - parse, save link in session and print a call to page2
<?php
session_start();
$_SESSION['url'] = preg_replace('/\s(\w+:\/\/)(\S+)/', ' <a href="http://localhost/get.php?url=\\1\\2" target="_blank"> GO</a> ', $html);
 .... 
echo '<a href="./page2.php">GO</a>';
?>
//page2 
<?php
session_start();
header('Location: '.$_SESSION['url']);
?>

如果我不明白你的意思......

显然现在我使用$ _SESSION ['url']作为单个字符串,但你可以使用多维数组intead ......

更新:

如果在脚本上使用数组,

无论如何都会更好。 例如:http://www.test.org/go.php?page=#(其中#是数字)

<?php

$array=("http://www.google.com","http://stackoverfloc.com","ecc");
//you can add more contorl in if statement, like between etc...
if (is_numeric($_GET['page']) header('Location: '.$array[$_GET['page']]);
?>

答案 2 :(得分:0)

您建立的链接看起来像这样:

yourdomain.com/redirector.ph?url=#

其中#代表标识符。

在redirector.php中,检查您是否知道该标识符并发送重定向HTTP标头:

标题(“位置:http://www.example.com/”);

重要提示:

您可能不会在发送标题之前发送任何数据,发送后的代码也不会被执行。

<强>信息

http://php.net/manual/en/function.header.php

修改

使用这个标题并不是绝对正确的标准,但它并不太远,因为响应确实在另一个位置。