两个特定字符之间的PHP子字符串

两个特定字符之间的PHP子字符串,php,Php,我有下面的代码,它正好提供了我首先需要的内容(字符串$data中第一个=后面的大写单词): if (($pos = strpos($data, "=")) !== FALSE) { $whatIWant = ucwords(substr($data, $pos+1)); } 我现在需要做的是完全相同的事情,但是忽略(包括)同一字符串($data)中第一个&之后的任何内容 我的PHP是薄弱的,请有人告诉我如何更新上述做到这一点?我还没有找到答案,但如果我错过了,请

我有下面的代码,它正好提供了我首先需要的内容(字符串
$data
中第一个
=
后面的大写单词):

if (($pos = strpos($data, "=")) !== FALSE) { 
    $whatIWant = ucwords(substr($data, $pos+1)); 
}
我现在需要做的是完全相同的事情,但是忽略(包括)同一字符串(
$data
)中第一个
&
之后的任何内容

我的PHP是薄弱的,请有人告诉我如何更新上述做到这一点?我还没有找到答案,但如果我错过了,请告诉我

示例字符串:

目的地=公寓+铁力斯+度假村+沃农+721和hotelid=0123454656

目的地=租赁+公寓+门迪+埃德尔+-+圣约翰酒店=01234

目的地=三居室+度假+住宅+室内+奥洛夫斯特罗姆&酒店ID=98


如果此查询字符串来自用于访问页面的URL(从您的评论中可以看出您正在使用
$\u服务器['query\u字符串]]
),则只需使用
$\u GET

如果查询字符串来自其他地方,则有一个工具:

第一个示例查询字符串生成:

Array
(
    [destination] => Apartment TITLIS Resort Wohnung 721
    [hotelid] => 0123454656
)
那么就:

echo ucwords($result['destination']);
使用superglobal是在PHP中获取
get
参数的正确方法

$_GET['destination']
将有您的
目的地
,并且该目的地已被url解码

GET变量通过urldecode()传递


您的解决方案在此处:您可以在此处查看:



首先发布您的
$data
我已根据要求添加了一些示例-thanks@chris85它们是URL,我正在使用urldecode($\u SERVER['QUERY\u STRING'])获取它们。我不知道爆炸的原因,但我会给出一个例子look@chris85这是我做过的唯一一个PHP,我没有理由不使用$\u GET['destination']除了不知道之外:)如果这样做可以,那么它看起来很简单谢谢你-这也可以使用大写的功能,还是我只是在$result['destination']周围添加ucwords?它不会改变大小写,如果你需要标题大小写,那么是的,
ucwords
。谢谢你还有一个问题,我如何用URL替换字符串值($data)是我目前从urldecode获得的吗?@nathanhayfield:是的,但这将解析URL并提供OP已经拥有的查询字符串。然后仍然需要
parse_str
echo ucwords($result['destination']);
$_GET['destination']
<?php 
$data = "destination=Apartment+TITLIS+Resort+Wohnung+721&hotelid=0123454656";
if (($pos = strpos($data, "=")) !== FALSE) { 
    $whatIWant = ucwords(substr($data, $pos+1)); 
    $whatIWant = explode("&", $whatIWant); // creating array from string
    $whatIWant = $whatIWant[0]; // before & is first array element
    echo "Ans1: \n";
    echo $whatIWant;
    // Output: Apartment+TITLIS+Resort+Wohnung+721
    // if you want your output with & just add & 
    echo "\n\nAns2: \n";

    $whatIWant = $whatIWant."&";

    echo $whatIWant;
    // now Output iss: 
    // Apartment+TITLIS+Resort+Wohnung+721&
}

?>