#php #for-loop
#php #for-цикл
Вопрос:
Я хотел бы выделить ссылку жирным шрифтом, если URL-адрес заканчивается определенным окончанием:
…и так далее до #style15
Было бы лучше сделать это с помощью PHP или Javascript? Могу ли я включить следующее в цикл, который выполняется через #style1 — #style15?
<?php
$URL = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
if ($URL == "http://url.com/test#style1") { ?>
<style>.a1 {font-weight:bold;} </style>
<?
}
else if ($URL == "http://url.com/test#style2") {
?>
<style>.a2 {font-weight:bold;} </style>
<?
}?>
Комментарии:
1. PHP никогда не видит фрагмент, поэтому вам придется делать это с помощью JavaScript
Ответ №1:
Вы не можете получить доступ к хэшу в php, например, как здесь «#style1» из URL, для этого у вас есть javascript.
Вот решение в Javascript:
<script>
if (window.location.hash) {
var hash = window.location.hash.substring(1);
if (hash.length != 0) {
for(i=1; i<=15; i ){
if(("style" i) == hash){
/* Used jQuery here */
$(".a" i).css("font-weight", "bold");
}
}
}
}
</script>
Ответ №2:
PHP не имеет доступа к части или URL за хэшем (#), поэтому единственным способом является JavaScript.
Вы можете получить доступ к этой части URL с помощью location.hash
.
Ответ №3:
Я предлагаю вам использовать CSS для применения стилей. Он может легко считывать конечные символы атрибута an (например, $= ) и применять соответствующий стиль без использования PHP или Javascript.
a[href$="1"] { font-weight:bold; }