Строка обрезки Php для определенного символа

Есть ли функция php string, чтобы обрезать строку после определенного символа. Я просмотрел сайт php.net и сделал поиск в Google, но ничего не нашел. Единственное решение, о котором я мог думать, было взорвано, а затем захватить первую часть массива, но это не самое элегантное решение.

Например

$string = "/gallery/image?a=b"; $string = imaginary_function($string,'?'); echo $string; //echoes "/gallery/image" 

Кто-нибудь знает о хорошем чит-листе для функций манипуляции с php-строками? благодаря

Related of "Строка обрезки Php для определенного символа"

Вы можете использовать взрыв :

 $string = "/gallery/image?a=b"; list($url,$querystring) = explode('?', $string, 2); 

Может быть, что-то вроде этого:

 $string = substr($string, 0, strpos($string, '?')); 

Обратите внимание, что это не очень надежный (т. Е. Проверка ошибок и т. Д.), Но это может помочь вам решить вашу проблему.

Попробуйте strtok :

 $token = strtok($str, '?'); 

Обратите внимание, что вторым параметром является список разделителей, а не строка разделителя.

Функции strstr и stristr обнаруживают первое вхождение в строке и возвращают все после него (включая строку поиска). Но это вы true в качестве третьего аргумента, он возвращает все перед строкой поиска.

 $string = strstr( $string, '?', true); # Returns /gallery/image 

Если совпадение не найдено, оно возвращает FALSE чтобы вы могли написать ошибку, например:

 if( $path = strstr( $string, '?', true) ){ # Do something } 
 function imaginary_function($string, $char) { $index = strpos($char, $needle); if ($index === false) { return $string }; return substr($string, 0, $index); } 

Здесь доступен отличный официальный список функций манипуляции строками.

Хотя чистые строковые функции могут дать лучшую производительность, это не просто строка; это URI. Поэтому имеет смысл использовать функцию, предназначенную для обработки таких данных:

 echo parse_url("/gallery/image?a=b", PHP_URL_PATH); // Output: /gallery/image 

Это может быть излишним для того, что вы пытаетесь сделать, но если вы хотите разбить URL на части, попробуйте PHP-функцию parse_url . Вот страница руководства PHP .

Затем вам понадобится часть «пути» результирующего массива.