http://site.com/js/script.js?ver=1.0
如何从像这样的字符串中删除查询参数?
(?ver=1.0
)
答案 0 :(得分:4)
删除(包括)第一个?
字符后的所有内容:
$str = 'http://site.com/js/script.js?ver=1.0';
$str = substr($str, 0, strpos($str, '?'));
答案 1 :(得分:2)
$string = str_replace('?ver=1.0', '', $string);
或者,如果此示例仅表示其他查询值的清单,则可能会在问号上爆炸,并且您的第一个结果数组键将是所需的字符串。
$array = explode('?', $string);
echo $array[0]; // http://site.com/js/script.js
答案 2 :(得分:1)
删除问号及其后的所有内容:
$string = 'http://site.com/js/script.js?ver=1.0';
$string = array_shift( explode('?', $string) );
答案 3 :(得分:1)
如果您需要针对不同的,更长的或可能未知的查询字符串执行此操作,请从以下方法中选择:
$substr = substr($string, 0, strpos($string, '?'));
$regex = preg_replace('/\?(.*)/', '', $string);
$array = explode('?', $string);
$str = current($array);