IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Веб-программирование (https://www.imho.ws/forumdisplay.php?f=29)
-   -   Отмена тэга BR (https://www.imho.ws/showthread.php?t=126466)

PoCCaMaXa 29.11.2007 18:56

Отмена тэга BR
 
Всем привет. Вот меня интересует такой вопрос:
Возможна ли отмена тэга <br>...
Приведу пример, а то так наверно непонятно =)
Вообщем у меня есть таблица, которая подключается на все странички, тоесть она прописана в отдельном файле и в конце, после таблицы стоит тэг <br>.
Собственно на всех страницах все ок, но на одной из них, этот перевод строки не нужен. Есть ли какой-нибудь тэг, который увидя перед собой <br> не будет его выполнять... Или может какой другой способ есть?

Заранее благодарен за ответы

metrim 29.11.2007 19:45

Брррр
Вообще не понял идею ...
Что я понял из написанного:
Существует код, который не хочется (не можется) редактировать. Он один для всего сайта.
Нужно добавить такой хитрый тег, что бы на 1 (ОДНОЙ) какой то странице тег <br> не выполнялся.
Почему в одном единственном месте не убрать <br> - совершенно не понятно ...

Дичь какая то ...

PoCCaMaXa 29.11.2007 19:54

хм... попытался описать как можно яснее... =/
Короче, если без подробностей, то есть ли возможность, когда идёт так

бла бла
<br>
бла2

Не удаляя <br>, перед бла2 поставить код, чтоб этот br не действовал =Ъ Но только после br, до него ничего нельзя ставить =Ъ

Heo 29.11.2007 19:58

Цитата:

Сообщение от metrim (Сообщение 1489945)
Есть ли какой-нибудь тэг, который увидя перед собой <br> не будет его выполнять...

Не знаю о таком =)

Цитата:

Сообщение от PoCCaMaXa (Сообщение 1489926)
Или может какой другой способ есть?

Есть вариант решения на PHP, довольно простой. Как пример:

my_template.php (сам темплейт с таблиоцей)
PHP код:

<?php if (!defined('INSCRIPT')) die ('Просматриваем шаблон через сам сайт плиз...'); ?>

<table>
    <tr>
        <td>Моя табличка</td>
    </tr>
</table>
<?php
// А вот и наш <br />
if ($act != 'my_page_no_br')
{
    echo 
'<br />';
}
?>

index.php
PHP код:

<?php
// Дефайн - мы в скрипте.
define ('INSCRIPT'TRUE);

$act $_GET['act'];

switch (
$act)
{
    case 
'news' :
                      
//что-то делаем
                      
include ('my_template.php');
                      
//что-то делаем
        
break;
    case 
'my_page_no_br' :
                      
//что-то делаем
                      
include ('my_template.php');
                      
//что-то делаем
        
break;
}
?>

Если вызвать index.php?act=my_page_no_br то перевод строки не будет выведен. Любая другая страница будет выводить <br />

metrim 29.11.2007 20:17

Цитата:

Сообщение от Heo (Сообщение 1489953)
Есть вариант решения на PHP, довольно простой.

Ну задача ведь сформирована определённо : решить это средствами тегов ХТМЛ ;)
Програмно то это решить можно много как
можно хоть на яваСкрипте сделать.
А вот тегами сделать это, при том - в проихзвольом месте - это как то непонятно ...

voron 29.11.2007 23:20

Цитата:

Сообщение от metrim (Сообщение 1489963)
А вот тегами сделать это, при том - в проихзвольом месте - это как то непонятно ...

хтмл такого не умеет просто напросто. тег или есть - или его нет ;)

Expert4Pro 30.11.2007 12:15

Можно использовать за доп. XSL/XSLT

sudo 30.11.2007 18:08

Можно легко и непринужденно прикрутить onload JavaScript, который будет после загрузки страницы резать ненужные теги.

voron 01.12.2007 12:32

syla,
sudo, внимательно читаете?
Цитата:

Сообщение от metrim (Сообщение 1489963)
задача ведь сформирована определённо : решить это средствами тегов ХТМЛ

что невозможно :)

killhunter 01.12.2007 20:44

Ну можно пойти радикально (если возможно) и заключить весь блок в тег <nobr></nobr>
т.е.
<nobr>
бла бла
<br>
</nobr>
бла2

Тем самым запретить все переводы строки в указанном интервале.

metrim 02.12.2007 17:18

Цитата:

Сообщение от killhunter (Сообщение 1490822)
Ну можно пойти радикально (если возможно) и заключить весь блок в тег <nobr></nobr>
т.е.
<nobr>
бла бла
<br>
</nobr>
бла2

Тем самым запретить все переводы строки в указанном интервале.

1. Если бы ты хотябы соизволил проверить свой код, то понял бы что такое - не работает. Так что не надо писать откровенную лажу. Тег <nobr> работает для другого.
2. Задача сделать так что бы тег не отрабатывался в каком то конкретном случае по совершенно непонятному принципу и без програминга.

На данный момент реализовать это как не понятно. Продолжаем пинать муму :)

killhunter 02.12.2007 23:07

Проверял только в тексте непосредственно. Там работает.
Если проверять на .inc вложение - действительно не работает. :(

Однако, поиск решения подразумевает и ошибочные ответы. Поэтому не стоит делать резких заявлений :)

sudo 03.12.2007 01:01

Есть такой тег -- <script type="text/javascript">... Вопрос: считать использование JavaScript решением средствами тегов HTML или нет :p

Hubbitus 03.12.2007 01:25

А что если CSS использовать?
Например после этого вставить просто:
<style>
br {float:right;}
</style>

(ну или использовать доступные селекторы, для выбора только нужного BR. Хотя лучше наверное отменять все сразу, использование <br> вообще нехорошо, на сколько я понимаю).

Как я понимаю, это не по стандарту, что CSS-стиль идет после элемента, да еще и в body ф не head, тем не менее, похоже это нормально работает.


Часовой пояс GMT +4, время: 11:39.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.