Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как заменить в УРЛе (адресе страницы) все "+" на "%20" ?
Форумы портала PHP.SU » » Вопросы новичков » Как заменить в УРЛе (адресе страницы) все "+" на "%20" ?

Страниц (1): [1]
 

1. zonk - 21 Ноября, 2020 - 20:36:30 - перейти к сообщению
Очень нужна помощь!

На сайте внутренние ссылки прописаны с символом "+". А по факту в названиях папок - пробелы. Как заменить "+" на "%20"?

Поясню))

Сейчас страницы нормально открываются так - www[dot]site[dot]ru/article title here/ (ну или www[dot]site[dot]ru/article%20title%20here/ )

А во внутренней перелинковке в ссылках - www.site.ru/article+title+here/

И как заменить этот "плюс" на "пробел" ?

Заранее огромное спасибо!!
2. LIME - 21 Ноября, 2020 - 21:24:31 - перейти к сообщению
+ в урле это и есть пробел, такая специальная его запись
3. zonk - 21 Ноября, 2020 - 21:29:13 - перейти к сообщению
LIME пишет:
+ в урле это и есть пробел, такая специальная его запись


Почему тогда страница - site.com/Dir/yoga%20for%20beginner/ открывается нормально

А вариация - site.com/Dir/yoga+for+beginner/ выдает ошибку 404?

Not Found
The requested URL was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
4. LIME - 22 Ноября, 2020 - 06:19:45 - перейти к сообщению
видимо веб-сервер не хочет видеть + в путях(и я его понимаю)
надо бы найти формирование этих ссылок, но наверное это сложно будет(для тебя)
можно и постфактум заменить
PHP:
скопировать код в буфер обмена
  1. $url = 'www.site.ru/article+title+here/';
  2.  
  3. echo $url = str_replace('+', '%20', $url);

 

Powered by ExBB FM 1.0 RC1