Мой PHP слаб и я'м пытаясь изменить эту строку:
http://www.example.com/backend.php?/c=crud&m=index&t=care
^
должны быть:
http://www.example.com/backend.php?c=crud&m=index&t=care
^
удаление /
после backend.php?
. Любые идеи на лучший способ сделать это?
Спасибо!
Я думаю, что это'ы лучше использовать просто как str_replace, как в инструкции написано:
если вы не'т нужна красивая замена правила (например, регулярные выражения), вы следует всегда использовать эту функцию вместо ereg_replace() или код preg_replace().
<?
$badUrl = "http://www.site.com/backend.php?/c=crud&m=index&t=care";
$goodUrl = str_replace('?/', '?', $badUrl);
$str = preg_replace('/\?\//', '?', $str);
Редактировать: см. КМВ' ответ. Это's в конце, я должен знать лучше.
В то время как регулярное выражение подошло бы здесь просто отлично, я'МР ознакомить вас с альтернативным методом. Он might быть немного быстрее, чем эквивалентное регулярное выражение, а жизнь's Все о выборах (...или что-то).
$length = strlen($urlString);
for ($i=0; $i<$length; i++) {
if ($urlString[$i] === '?') {
$urlString[$i+1] = '';
break;
}
}
Странно, я знаю.