Заменить «

#php

#php

Вопрос:

Я знаю, что вы собираетесь мне сказать, но для целей обучения мне нужно знать, как изменить amp; URL-адрес in с ; помощью PHP.

Например:

У меня есть URL, подобный

 http://example.com/index.php?show=productsamp;index=20amp;page=5
  

Это станет

 http://example.com/index.php?show=products;index=20;page=5
  

Я видел это на ESPN Cricinfo, как будто они используют это для своей статистики, комментариев, как это использует эта страница.

Как я думаю, мы используем $_GET['...'] для получения значений из URL в PHP, но этот метод может использовать некоторые другие строковые функции.

Я уже сказал, если вы знаете, как, тогда скажите мне, как. Это только для целей обучения.

Комментарии:

1. Почему вы помечаете этот вопрос javascript, если хотите выполнить замену в PHP?

2. Извините, это была моя ошибка

3. Требуется ли для этого вопроса регулярное выражение?

Ответ №1:

Установите этот параметр глобально внутри файла php.ini:

 arg_separator.input = ";"
  

или локально для текущего выполнения скрипта с ini_set :

 ini_set('arg_separator.input', ';');
  

Из документации:

arg_separator.input string

Список разделителей, используемых PHP для преобразования входных URL-адресов в переменные.

Опция может получать набор символов возможных разделителей, поэтому, если вам нужно сделать аргументы синтаксического анализа PHP как с точкой с запятой, так и с амперсандом в качестве разделителя, установите его равным ;amp; .

Дополнительно arg_separator.output может использоваться для разделения аргументов в сгенерированных PHP URL-адресах.

ССЫЛКА: http://www.php.net/manual/en/ini.core.php#ini.arg-separator.input

Комментарии:

1. @lobner Правильно, если вы хотите установить параметр локально из и только для текущего PHP-скрипта: ini_set('arg_separator.input', ';'); .

2. @user3599534 Проверьте <?php phpinfo(); ?> , правильно ли задан параметр.

3. @user3599534 В зависимости от вашей конфигурации может потребоваться перезапуск сервера, чтобы он заработал. В противном случае в выходных данных должно отображаться текущее значение параметра phpinfo . Не забывайте, что ini_set этот подход установит параметр только для выполнения скрипта, в котором был вызван этот метод.