如何在URL中接收托架返回并在php中的马车返回时分裂


url = "http://localhost/reply.php?r=" & Now & "&msg=" & objMessageIn.Body & "&s=" & objMessageIn.Sender
PHP Code:
$ID = rawurlencode($_GET['msg']);
    $SENDER = $_GET['s'];
    $ID_upper = strtoupper($ID);

    print_r($ID_upper);

    $myArray = explode("%0a", $ID_upper);
    print_r($myArray);

我想在URL中接收运输返回,并在变量中保存拆分数据。例如:在短信中写

365 
LES-12-5666
1
2
5
6

此SMS在GSM设备中接收并在PHP中输入URL。当我收到URL时,php删除了托架返回并显示数组,即365les-12-56661256我想这样的结果

array()
{
[0]=>365
[1]=>LES-12-5666
[2]=>1
[3]=>2
[4]=>5
[5]=>6
}

我想在马车返回时分裂。但是php删除了托架返回,所以我无法拆分此数组。

预先感谢

更新:

我已经重做了答案,这里是以下说明的代码:

<?php
$url = urlencode("http://www.example.com?r=Now&msg='365nLES-12-5666n1n2n5n6n'&s=&me");
preg_match("/%26msg.+%27/",$url,$matches);
$ID = urldecode( $matches[0]);
$myArray = explode("\n", $ID);
list(,$str) = explode("=",$myArray[0]);
$str = substr($str,1,-1);
$arr = explode("n",chop($str));
var_dump($arr);

请参阅实时代码

注意:此答案仅关注查询字符串的"味精"部分的值。在现实生活中,也许有一个$ _get变量,但是在这种情况下,将URL作为查询字符串更容易。

URL是URLENCOD编码的,它允许传输编码为"%0a"的新线。该代码使用正则派别仅提取查询字符串的" msg"部分。然后将该结果ulldecedecoded,允许新线显示为" n"。但是,在PHP中,有时必须将Newline称为"\n"作为一个带有Explode()的实例,这是由于单个引号中包含的字符串值。在此上下文中的新线由两个斜线组成,代表斜线,该斜线逃脱了" n",以代表新线角色。

$ myarray包含一个元素,其值为字符串" msg ='365 nles-12-5666 n1 n2 n2 n5 n6 n'"。该代码将字符串分配在" ="上,以获取" msg"的值,该值实际上是字符串中包含的单个引用的字符串。该代码使用substr()提取内部字符串。为了避免不必要的空字符串,代码从终止新线上脱落,并根据" n"字符爆炸字符串到阵列$ arr。

最新更新