使用_Get时如何获取过去的特殊字符

时间:2018-07-17 03:42:35

标签: php

我正在使用以下代码

<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

    function getURL($u){
        $u = file_get_contents("http://{$u}");
        return $u != false ? $u : "";
    }
    function GetStringBetween($string, $start, $finish){
        $string = " ".$string;
        $position = strpos($string, $start);
        if ($position == 0) return "";
        $position += strlen($start);
        $length = strpos($string, $finish, $position) - $position;
        return substr($string, $position, $length);
    }


$url = (!isset($_GET["f"])) ? "deafult" : htmlspecialchars($_GET["f"]);
$stream = GetStringBetween(getURL("www.111.1212.1212.1212/blahblah.php?&a=abc&c=ttt&".$url),'file: "', '"');
?>

因此,当我执行myurl.com/file.php?f=blahblah时,它会在该页面上的文件“和”之间进行抓取,但我的问题是其中包含更改的部分&示例dats = 8238&g = 238382&e = 78121 所以我会做myurl.com/file.php?f=blahblah.php?f=&dats=8238&g=238382&e=78121然后从

抓起它
www.111.1212.1212.1212/blahblah.php?&a=abc&c=ttt&dats=8238&g=238382&e=78121 

问题是它没有添加&部分,当我首先尝试对url进行编码时,它使它&amp;知道如何使它接受特殊字符吗?

也尝试更新

$url = (!isset($_GET["f"])) ? "deafult" : htmlspecialchars($_GET["f"]);
$url2 = (!isset($_GET["g"])) ? "deafult" : htmlspecialchars($_GET["g"]);
$url3 = (!isset($_GET["h"])) ? "deafult" : htmlspecialchars($_GET["h"]);
$url4 = (!isset($_GET["i"])) ? "deafult" : htmlspecialchars($_GET["i"]);
$stream = GetStringBetween(getURL("www.111.1212.1212.1212/blahblah.php?&a=abc&c=ttt&".$url "&".$url2 "&" .$url3 "&".$url4),'file: "', '"');

没有运气

1 个答案:

答案 0 :(得分:0)

  1. htmlspecialchars($ yourstring);
  2. 使用Regex Express
  3. urlecode($ yourstring)
  

某些字符在HTML中具有特殊的意义,因此应   如果要保留其含义,则由HTML实体表示。   该函数返回经过这些转换的字符串。如果你   要求所有具有关联命名实体的输入子字符串   已翻译,请改用htmlentities()。

     

如果输入字符串传递给此函数和最终文档   共享相同的字符集,此功能足以准备   用于包含在大多数HTML文档上下文中的输入。但是,如果   输入可以表示未在最终代码中编码的字符   文档字符集,而您希望保留这些字符(如   数字或命名实体),此函数和htmlentities()   (仅编码具有等效名称实体的子字符串)可能   不足。您可能必须使用mb_encode_numericentity()   代替。   参见:http://php.net/manual/en/function.htmlspecialchars.php