URL кнопки выбора языка адаптирован из текущего URL - PullRequest
0 голосов
/ 28 июня 2011

Наш сайт имеет две языковые версии, чешскую и английскую.У нас есть простой флаг в правом верхнем углу каждой страницы (в header.php), который указывает на index_cz.php для чешского индекса и index.php для английского индекса для всех страниц независимо от текущего URL.

<a href="index_cz.php" target="_self"><img src="img/Czech-icon.png" width="64" height="64" alt="Czech language version"></a>
<a href="index.php" target="_self"><img src="img/United-Kingdom-icon.png" width="64" height="64" alt="English language version">

Мне бы хотелось что-то более сложное, использующее PHP, которое изменяет URL-адрес кнопок в зависимости от того, какой URL-адрес текущей страницы. Например: если текущей страницей является «new.php», я бы хотел, чтобы чешская кнопка теперь указывала на «new_cz.php», а английская кнопка - «new.php».

Страницы, содержащие окончания ? Id = (с любым идентификатором, связанным с этой страницей), используют отдельный header.php и ссылаются на соответствующий идентификатор из базы данных, например:

<a href="project_cz.php?id=<?php echo $det[0];?>" target="_self"><img src="img/Czech-icon.png" width="64" height="64" alt="Czech language version"></a>    
<a href="project.php?id=<?php echo $det[0];?>" target="_self"><img src="img/United-Kingdom-icon.png" width="64" height="64" alt="English language version"></a>

Можете ли вы придумать подходящий код для обработки стандартных php-страниц?Большое спасибо!

1 Ответ

2 голосов
/ 28 июня 2011

Вы можете получить доступ к текущему файлу с помощью $_SERVER['PHP_SELF'], но обязательно запустите на нем htmlspecialchars, прежде чем выводить его, чтобы предотвратить атаки XSS.

Тем не менее, вы можете затем str_replace текущего файла получить чешскую версию:

str_replace('.', '_cz.', $_SERVER['PHP_SELF'])

другой путь тоже прост:

str_replace('_cz.', '.', $_SERVER['PHP_SELF'])
...