Есть переменная Код (Text): $link которые содержи url типа: Код (Text): domain.ru/cat.html?start=1 domain.ru/cat.html?start=2 domain.ru/cat.html?start=3 ...... и т. д. Как удалить часть строки в переменной начиная с ?start и до конца строки. Чтобы в итоге получилось: domain.ru/cat.html Я примерно понимаю что логика такая: Надо найти есть ли в переменой $link знак ? (или ?start)и удалить все что послее нее, а результат опять записать в $link
поможет substring Добавлено спустя 5 минут 9 секунд: или при помощи explode разбить строку в массив, и превое значение в массиве будет ваша ссылка
Удаляю так: Код (Text): $my_count_string = strpos($link, "?"); if ($my_count_string > 1) { $link = substr($link, 0, $my_count_string); } Может есть более правильное решение ?
насчет substr не уверен. есть ли оналог функции indexOf(java) вот нашел лучший вариант Код (Text): <?php $url = "domain.ru/cat.html?start=1"; $url = strstr($url, '?', true); // Начиная с PHP 5.3.0 echo $url; //Возвращает domain.ru/cat.html
Когда нету знака ? удаляет все под корень домена - domain.ru/ С проверкой работает. Код (Text): $my_count_string = strpos($link, "?"); if ($my_count_string > 1) { $link = substr($link, 0, $my_count_string); }