mjc66 Опубликовано 29 февраля, 2008 Жалоба Поделиться Опубликовано 29 февраля, 2008 На одной из страниц у меня расположены ссылки, которые ведут на страницу где выводится некий текст. В этом тексте, в соответствии со ссылками раставлены якоря, чтобы при переходе по ней попадать в нужное место текста. Я же хочу добавить к этому еще и выделение цветом нужного места. Как этого добиться при помощи PHP? Ссылка на комментарий Поделиться на другие сайты Поделиться
Darhazer Опубликовано 29 февраля, 2008 Жалоба Поделиться Опубликовано 29 февраля, 2008 Если я правильно понял, у вас ссылки типа index.php#chapter2 Тогда делаете так ( в тексте) <a name="#chapter2><?phpif (parse_url($_SERVER['REQUEST_URI'],PHP_URL_FRAGMENT) == 'chapter2') { echo '<div style="color: #ff0000">';}?>тесткс...if (parse_url($_SERVER['REQUEST_URI'],PHP_URL_FRAGMENT) == 'chapter2') { echo '</div>';}?></a> Меняете стиль и готово Можно конечно не много оптимизировать чтоб не делало parse_url() каждий раз Решение не очень красивое, но если текст статический, а не из БД например, другого нет :no: Ссылка на комментарий Поделиться на другие сайты Поделиться
mjc66 Опубликовано 29 февраля, 2008 Автор Жалоба Поделиться Опубликовано 29 февраля, 2008 Большое спасибо, буду разбираться Ссылка на комментарий Поделиться на другие сайты Поделиться
mjc66 Опубликовано 29 февраля, 2008 Автор Жалоба Поделиться Опубликовано 29 февраля, 2008 Странно, сдела все по предложенному варианту <A name="#1"><?phpif (parse_url($_SERVER['REQUEST_URI'],PHP_URL_FRAGMENT) == "1") { echo '<div style="color: #0000ff">';}?><strong>АЛЮМИНИЙ НИТРИД</strong><?php if (parse_url($_SERVER['REQUEST_URI'],PHP_URL_FRAGMENT) == "1") { echo '</div>';}?></A> , но ничего не происходит - нет подсветки Ссылка на комментарий Поделиться на другие сайты Поделиться
Darhazer Опубликовано 29 февраля, 2008 Жалоба Поделиться Опубликовано 29 февраля, 2008 Проверте HTML изходник страници (View->Source), присуствуеть ли ваш div Если да - то проблема у вас в стиле... попробуйте поставить <div> перед a или определить стиль a div {} Если нет - укажите версию PHP ? Ссылка на комментарий Поделиться на другие сайты Поделиться
mjc66 Опубликовано 29 февраля, 2008 Автор Жалоба Поделиться Опубликовано 29 февраля, 2008 Версия PHP - 5.2.3 Сделал так: <div class="pasport2"><A name="1"><?phpif (parse_url($_SERVER['REQUEST_URI'],PHP_URL_FRAGMENT) == '1') { echo '<div style="color:#0000ff">';}?><strong>АЛЮМИНИЙ НИТРИД</strong><?php if (parse_url($_SERVER['REQUEST_URI'],PHP_URL_FRAGMENT) == '1') { echo '</div>';}?></A></div> Для class="pasport2" в CSS у меня определен стиль: .pasport2 {background-color:#00CCFF}, но изменений нет. Наверное было бы правильно показать большую (табличную) часть кода: <td align="center" class="pasport2" width="45%"><div class="pasport2"><A name="1"><?phpif (parse_url($_SERVER['REQUEST_URI'],PHP_URL_FRAGMENT) == '1') { echo '<div style="color:#0000ff">';}?><strong>АЛЮМИНИЙ НИТРИД</strong><?php if (parse_url($_SERVER['REQUEST_URI'],PHP_URL_FRAGMENT) == '1') { echo '</div>';}?></A></div><br> ТУ 6-09-110-75<br> Формула: <strong>AIN</strong></td> Ссылка на комментарий Поделиться на другие сайты Поделиться
Ф@РТОВЫЙ Опубликовано 1 марта, 2008 Жалоба Поделиться Опубликовано 1 марта, 2008 Проблема в том, что некоторые браузеры, в частности IE не передают на сервер данные URL написаные после символа # Придется чуть усложнить ссылки, то есть вместо page.php#chapter2 должно быть page.php?a=chapter2chapter2 соответственно изменится и код пхп предложенный Darhazer'ом <a name="#chapter2><?phpif ($_GET['a'] == 'chapter2') { echo '<div style="color: #ff0000">';}?>тесткс...if ($_GET['a'] == 'chapter2') { echo '</div>';}?></a> Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти