powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP)Как сделать цитирование?
8 сообщений из 8, страница 1 из 1
(PHP)Как сделать цитирование?
    #33714580
-MVP-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, хочу узнать, как реализовывается цитирование, как тут на форуме. Я понимаю, что текст заключенный между тегами цитата выводится в виде таблицы, но как отобразить ник того, кого ты хочешь цитировать?
...
Рейтинг: 0 / 0
(PHP)Как сделать цитирование?
    #33714801
madgol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как? Отображайте в ячейке таблицы.
...
Рейтинг: 0 / 0
(PHP)Как сделать цитирование?
    #33714861
-MVP-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну я хочу, чтоб была кнопка типа цитата, выделяешь текст, жмешь кнопку цитата, и в ТЕКСТАРЕА появляется что-то типа [ц автор=Такойто ]Вставленный выделенный текст [/ц]
...
Рейтинг: 0 / 0
(PHP)Как сделать цитирование?
    #33714864
Фотография Robert Tappan Moris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут ( msdn ) можно найти много любопытного, но конретно нужен метод parentElement(). Он возвращает ссылку на объект> в который влюжено выделение, а занчит все сообщения можно одевать в какой-нить невидимый тег и присвоить имя автора какому-нить свойтву и при цитировании брать значение этого тега:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<script>
function selText() {
	// берём выделение
	var range = document.selection.createRange();
	// проверяем кол-во символов
	if(range.text.length== 0 ) return false;
	// вытаскиваем имя автора
	author = range.parentElement().name;
	// берём текстареа
	var txtarea = document.getElementById('ta');
	// добавляем цитату
	txtarea.value = txtarea.value + "[ц автор=\""+author+"\"]"+range.text+"[/ц]";
}
</script>
<span name="Как звать автора">
Тут вот текст для выделения и создания цитат
</span>
<br>
<input type="button" value="Сделать цитату" onClick="selText();">
<br>
<textarea id="ta" rows="10" cols="30">
</textarea>

P.S. в опере у меня этот фокус не проходит =(
...
Рейтинг: 0 / 0
(PHP)Как сделать цитирование?
    #33714983
madgol
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если записи форума хранятся в БД - сформируйте ссылку соответствующим образом указывающую на запись в БД и от туда, при формировании новой страницы с полем для ввода, можно получить имя автора и текст
...
Рейтинг: 0 / 0
(PHP)Как сделать цитирование?
    #33715003
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторP.S. в опере у меня этот фокус не проходит =(
Потому что TextRange - это объект ИЕ-броузеров.
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
(PHP)Как сделать цитирование?
    #33715009
-MVP-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
if (name=="Bold")
     {document.forma.comment.value += "" + "" + " ";}

Я тут ещё вопрос задам, чтоб не зафлуживать форум. Как сделать, чтоб курсор при выполнении функции был не после тега , а внутри этих тегов?
...
Рейтинг: 0 / 0
(PHP)Как сделать цитирование?
    #33715307
-MVP-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос по скрипту, все работает нормально, только есть одно но. Если брать текст выделять, от первой буквы до последней, все работает нормально, а если чуть залезть за последнюю букву, то это все дело отказывается работать, там получается типа пустое поле захватывает и в ТЕКСАРЕА ничего не добавляется, как это убрать?
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP)Как сделать цитирование?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]