从字符串中删除文本

时间:2011-09-05 22:44:42

标签: php string

http://site.com/js/script.js?ver=1.0

如何从像这样的字符串中删除查询参数?

?ver=1.0

4 个答案:

答案 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);