PHP从$ string获取一部分

时间:2016-02-06 09:57:41

标签: php parsing

你可以帮我解析字符串吗?

字符串是:

$str = 'http://test.al/admin/?plugin=pages&act=delete&file=test-page';

它是动态的,可能包含更多& -symbols。

除了从“& ...”开始的部分外,我想得到一切 所以结果应该是:

http://boot.al/admin/?plugin=pages

删除文件后需要返回,以清除其他$ _GET参数。

提前谢谢!

3 个答案:

答案 0 :(得分:2)

使用strtok()

<?php
$str = 'http://test.al/admin/?plugin=pages&act=delete&file=test-page';
$result = strtok($str, '&');

var_dump($result); // outputs "http://test.al/admin/?plugin=pages"

答案 1 :(得分:1)

$parts = explode('&', $str);
$str = $parts[0];

使用&作为分隔符将字符串转换为数组。 数组的第一个元素将保存您需要的部分

答案 2 :(得分:0)

使用parse_url()

$str = 'http://test.al/admin/?plugin=pages&act=delete&file=test-page';

$url_components = parse_url($str);
$get_component = explode("&", $url_components['query']);

$new_str = $url_components['scheme'] . "://" . $url_components['host'] . $url_components['path'] . "?" . $get_component[0];
echo $new_str;

输出:

http://test.al/admin/?plugin=pages