从网页中提取文本

时间:2013-05-24 13:08:00

标签: php

在这个test.php页面中,我有这行文字

  

服务器= span.growler.ro&安培;提供商= -1&安培; providersSerial = 4和;国家= RO&安培;流动= 0&安培;标记= eae5b2c50c123425d9351d8c8ee80b9a27ca3d69f15a669454b937eb

在另一个test1.php?id=token页面中,我有这个运行的PHP代码

<?php 
$Text=file_get_contents("./test.php"); 
if(isset($_GET["id"])){ $id = $_GET["id"]; 
$regex = "/".$id."=\'([^\']+)\'/"; 
preg_match_all($regex,$Text,$Match); 
$fid=$Match[1][0]; 
echo $fid; } else { echo ""; } ?>

我只需要令牌

  

eae5b2c50c123425d9351d8c8ee80b9a27ca3d69f15a669454b937eb

在test1.php上显示?id = token

如果在test.php中,令牌看起来像这样

  

标记= 'eae5b2c50c123425d9351d8c8ee80b9a27ca3d69f15a669454b937eb'

它有效。

我需要在另一个网页上工作

3 个答案:

答案 0 :(得分:0)

$str = 'server=span.growler.ro&provider=-1&providersSerial=4&country=RO&mobile=0&token=eae5b2c50c123425d9351d8c8ee80b9a27ca3d69f15a669454b937eb';
parse_str($str, $vars);
$token = $vars['token'];

答案 1 :(得分:0)

使用preg_match会对你有帮助。

$string ='server=span.growler.ro&provider=-1&providersSerial=4&country=RO&mobile=0&token=eae5b2c50c123425d9351d8c8ee80b9a27ca3d69f15a669454b937eb';
preg_match('/token=([a-f0-9]+)/i',$string,$matches);
echo $matches[1]; 

这会让你回头:

'eae5b2c50c123425d9351d8c8ee80b9a27ca3d69f15a669454b937eb'

答案 2 :(得分:0)

我建议您使用preg_match代替preg_match_all

试试这个正则表达式:

$regex = "/&?token=([a-f0-9]*)&?/;