2011-12-25 3 views
1

Возможно ли это, чтобы сделать собственные сущности?Собственный объект HTML/CSS

Нравится: & longline; -> -----------------------------

затем использовать его в HTML-код:

<div> 
    &longline; 
    bla bl bla 
</div> 

ответ

2

Это возможно в XML, используя объявление <!ENTITY>, но я бы не рекомендовал его. Ваш сайт больше не будет HTML, и большинство браузеров не согласятся с ним. (Действительно, ни один не делает, unless your file is XML, что скорее поражает цель.) Обработка на стороне клиента с использованием JavaScript возможна, но недоступна. Обработка на стороне сервера является пустой тратой времени, если только пользователь не вводит пользователя, и в этом случае вы должны заменить объекты перед вставкой данных в вашу базу данных.

Итак, да, это возможно, но если у вас нет веских оснований для этого, не делайте этого!

+0

Хорошее наблюдение! –

1

Нет, не в чистом HTML.

Однако это желаемое поведение может быть достигнуто с помощью javascript (или PHP, python, ruby). Вы можете отсканировать все текстовые узлы и соответственно заменить их.

Однако я почти не вижу, почему вам нравится такое поведение. Я думаю, вы должны использовать пропеченный стиль <hr> элемент. Поддержка CSS border: 1px dashed black;, поэтому он будет выглядеть как много тире (-).

Php также есть функция str_repeat('-', 30);. Это сделает 30 тире, но его нужно заменить на сервер.

+0

О, нет :(Я думал, что видел такую ​​функцию, как мне нужно, но я был давным-давно, и это было просто мое воображение, я думаю. #edit: Эй, эта строка была просто примером. Я попытался использовать такую ​​сущность: & ArgumetnNullException, чтобы сделать ссылку на msdn. #edit: также foud вот так: http://www.w3schools.com/dtd/dtd_entities.asp. Поэтому wecan делает сущности, но это не html5:/ – zgnilec

+0

Ну, может быть, если вы скажите, каково желаемое поведение, которое вы хотите достичь, мы могли бы предоставить другое решение. –

+0

Да, но у него действительно сомнительная поддержка браузера. Если вам нужно это сделать, я бы сделал это с помощью javascript. Это довольно просто с jQuery. –

1

No.

Если вы используете серверный язык, вы можете использовать строку функции заменить на этом языке (PHP, C#, Java, Ruby и т.д.), но не в чистом HTML.

1

Невозможно с HTML, но лучшим способом добиться этого будет скрипт на стороне сервера, так что пользователь получит чистый хорошо сформированный HTML-код, но дает разработчику свободу использовать методы, такие как то, что вы хотите сделать для создания HTML-кода ,

PHP может сделать это, кэшируя вывод, а затем заменяя все вхождения на новую строку.

Смежные вопросы