Php 从url抓取信息?

Php 从url抓取信息?,php,phpbb,Php,Phpbb,我有一个在线项目“每周问题”;此项目允许用户提交他们的问题。这些问题保存在mysql表中;该问题还被发送到另一个simplepost.php,它将该问题存储在phpBB中。 我想用这个phpBB来回答每个问题,讨论这个问题 现在,我的项目将问题存储在sql表中,并将问题发布在phpBB中 但当问题发布在phpBB中时,它存储在“”中,其中t=24是问题 我想通过某种方式获取这个url并提取t=24,这样我就可以为项目中的每个问题创建一个可点击的链接,用于指导特定phpBB页面的问题 假设我的项目

我有一个在线项目“每周问题”;此项目允许用户提交他们的问题。这些问题保存在mysql表中;该问题还被发送到另一个simplepost.php,它将该问题存储在phpBB中。 我想用这个phpBB来回答每个问题,讨论这个问题

现在,我的项目将问题存储在sql表中,并将问题发布在phpBB中

但当问题发布在phpBB中时,它存储在“”中,其中t=24是问题

我想通过某种方式获取这个url并提取t=24,这样我就可以为项目中的每个问题创建一个可点击的链接,用于指导特定phpBB页面的问题

假设我的项目处于打开状态:(这允许用户发布一个问题,并将该问题插入到sql表中,还可以在phpBB/simplepost.php中调用,以便在phpBB中发布该问题)

php中的这个问题可以在上看到:“

请告诉我该怎么办。我如何从这个url获取这个“t=24”

调用my simplepost.php时,is使用posting.php发布问题,并返回一个返回值

simplepost.php中的代码如下所示:

$title = "This is the title of the message.";
//$body = "This is the message body.";
$post_fields = array(
             'subject'   => $title,
             'addbbcode20' => 100,
             'message' => $body,
             'lastclick'          => $lclick[0],
             'post'   => 'Submit',
             'attach_sig'        => 'on',
             'creation_time'      => $lclick[0],
             'form_token'   => $security123[1],
             'filecomment' => '',
             );

//Wait (you might also do this by setting lastclick in the past by 3 seconds
sleep(3);

//Set up curl session for posting the message
$ch1 = curl_init();
curl_setopt($ch1, CURLOPT_URL,$purl);
curl_setopt($ch1, CURLOPT_POST, true);
curl_setopt($ch1, CURLOPT_POSTFIELDS, $post_fields);
curl_setopt($ch1, CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch1, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch1, CURLOPT_HEADER, false );
curl_setopt($ch1, CURLOPT_COOKIE,'cookie.txt');
curl_setopt($ch1, CURLOPT_COOKIEJAR,'cookie.txt');
curl_setopt($ch1, CURLOPT_COOKIEFILE,'cookie.txt');
$result2= curl_exec ($ch1);
//$result3= curl_exec ($ch1, CURLOPT_URL,$purl);
curl_close ($ch1);

echo $result2;
响应以$result2的形式出现。然后页面转到“下一页”


但问题是所有这些都发生在后端。我的项目没有显示phpBB的viewtopic.php页面。

要从URL中提取组件,您可以使用--如果您只想获取查询字符串,
$\u服务器['query\u string']
也可以

然后,要从查询字符串中获取参数/值,您可以查看:有一个示例显示了您想要的:

<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str);
echo $first;  // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz

parse_str($str, $output);
echo $output['first'];  // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz
?>


显然,您可能更喜欢第二种方法,以避免在脚本中注入(未知且潜在危险的,如
register\u globals
)变量。

要从URL中提取组件,您可以使用--如果您只想获取查询字符串,
$\u SERVER['query\u string']
也可以

然后,要从查询字符串中获取参数/值,您可以查看:有一个示例显示了您想要的:

<?php
$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str);
echo $first;  // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz

parse_str($str, $output);
echo $output['first'];  // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz
?>


显然,您可能更喜欢第二种方法,以避免在脚本中注入(未知且潜在危险的,如
register\u globals
)变量。

不太确定您想要什么,但我可能很愚蠢

给定
$url
中的url,可以执行以下操作:

$query = parse_url($url, PHP_URL_QUERY);
parse_str($query, $params);
$t = $params['t'];
如果向页面传递GET参数,则可以执行以下操作:

$t = $_GET['t'];

我不太确定你想要什么,但我可能很愚蠢

给定
$url
中的url,可以执行以下操作:

$query = parse_url($url, PHP_URL_QUERY);
parse_str($query, $params);
$t = $params['t'];
如果向页面传递GET参数,则可以执行以下操作:

$t = $_GET['t'];

如果我没有弄错的话,您应该能够使用PHP通过
$\u get['t']
获取存储在URL中的't'变量中的'value'(24)。但这仅在您当前位于该URL时有效。请参阅:

如果您试图在不在特定页面上的情况下抓住该部分,您可以尝试:

ereg("t=[0-9]+", $url, $res)

然后,只要从$res数组的结果中去掉“t=”,如果我没有弄错的话,您应该能够使用PHP,使用
$\u get['t']
获取存储在URL中“t”变量中的“value”(24)。这只会在您当前处于该URL时起作用。请参阅:

如果您试图在不在特定页面上的情况下抓住该部分,您可以尝试:

ereg("t=[0-9]+", $url, $res)
然后只需从$res数组的结果中去掉“t=”怎么样:

$var = $_GET['t']; 
过滤它,然后用它做任何事情。

怎么样:

$var = $_GET['t']; 

过滤它并对其执行任何操作。

您如何提交到simplepost.php?您如何提交到simplepost.php?