|
|
|
| Добрый день!
Не хочу изобретать велосипед, может кто-нибудь подскажет стратегию решения следующей задачи:
Создаю систему администрирования новостей. Текст новости вводится в поле формы. Необходимо фразу из этого текста сделать ссылкой или потом при редактировании - очистить от ссылки. Ну не вписывать же офис-менеджеру в форму HTML-теги.
Я делаю так: рядом с полем для ввода текста новости есть поле "текст ссылки", куда вводится слово или фраза СУЩЕСТВУЮЩАЯ в тексте новости и поле "URL", куда вводится адрес ссылки.
Далее скрипт заменяет требуемую фразу на нее же, но с добавлением тегов ссылки:
$_POST['name'] = str_replace("$name_anch","<a href=$url_anch>$name_anch</a>",$_POST['name']);
|
По моему как-то коряво, да и для удаления ссылки надо "чистить" текст от тегов в форме ввода текста новоти.
Кстати можно ли не показывать HTML-теги в поле формы?
Не хочу изобретать велосипед, может кто-нибудь подскажет стратегию решения этой задачи.
Борис. | |
|
|
|
|
|
|
|
для: boris
(19.07.2005 в 08:51)
| | Обычно применяют тэги [url=$url_anch]$name_anch[/url], которые затем интерпретируются в тексте... К сожалению, все варианты немного корявые, например, ещё одно решение добавлять ссылку отдельно в конце новости... Самое элегантное решение это обучить оператора тегу <a>... | |
|
|
|
|
|
|
|
для: cheops
(19.07.2005 в 13:10)
| | А как вы это делаете в вашей гостевой книге, если не секрет? | |
|
|
|
|
|
|
|
для: Boris
(19.07.2005 в 13:21)
| | В ответах администратора имеется ввиду? Там чистый HTML, администратор использует тэг <a> - так как отвечают сотрудники студии - у них проблем с этим не возникает :))) | |
|
|
|
|
|
|
|
для: cheops
(19.07.2005 в 13:33)
| | Спасибо за помощь, я решил остановиться на варианте (см. тема: [url]Администрирование, управление ссылками в новостях и т.п. [/url] ).
P.S. В этой теме вопрос продублирован, т.к. я начал опасаться что на заголовок "Ссылки в тексте параграфа" никто внимания не обратит.
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=5545&page=1 | |
|
|
|
|
|
|
|
для: Boris
(19.07.2005 в 13:50)
| | Что-то теги [url] [/url] не сработали! | |
|
|
|
|
|
|
|
для: Boris
(19.07.2005 в 13:58)
| | А в смысле тэги не сработали? Какой код используется и в чём проблема? | |
|
|
|
|
|
|
|
для: cheops
(19.07.2005 в 14:12)
| | Не сработали псевдотеги url (специально не ставлю скобки) в вашей форме "ответить на сообщение":
Выше в теме я выделил псевдотегами следующую фразу:
(см. тема: [url]Администрирование, управление ссылками в новостях и т.п. [/url] ).
и ввел в поле URL адрес ссылки.
Я ожидал что фраза "Администрирование, управление ссылками в новостях и т.п." станет ссылкой с адресом, введеным в поле URL. | |
|
|
|
|
|
|
|
для: Boris
(19.07.2005 в 14:19)
| | Существует несколько способов обработки тэгов, например такой
<?php
$text = "... на следующем [url = http://www.softtime.ru] ресурсе [/url]
вы можете найти ...";
$patern = "#\[[\s]*url[\s]*=[\s]*([^\]]*)\]([^\[]*)\[[\s]*/url[\s]*\]#i";
$replacment = '<a href=\\1>\\2</a>';
echo preg_replace($patern, $replacment, $text);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(19.07.2005 в 14:30)
| | Проверка ... на следующем ресурсе вы можете найти ...
Не работает! Не мой код, а ваша форма на вашем сайте. Может я что-то не так делаю? Ссылка не выделяется.
Вот псевдотеги тегов <b>, работают.
Попробую еще раз:
Итак щелкни меня!
Псевдотеги есть, а ссылки нет! | |
|
|
|
|
|
|
|
для: Boris
(19.07.2005 в 14:34)
| | В данном форуме это не работает... работает ли у вас на сервере приведённый выше скрипт? | |
|
|
|
|
|
|
|
для: cheops
(19.07.2005 в 14:43)
| | Работоспособность вашего скрипта я не проверял (спасибо вам за него), я думаю проблем не возникнет. Мне была важна стратегия решения проблемы, благодаря вашему форуму я ее нашел.
Сейчас мне интересно почему в данном форуме не работают псевдотеги <url>, ведь они есть в списке используемых тегов. А если они работают, то как ими пользоваться, чтобы пометить фразу из текста как ссылку.
До сих пор мне этого не удалось :-) | |
|
|
|
|
|
|
|
для: Boris
(19.07.2005 в 14:49)
| | Они работают только для url - если вы уберёте пробелы из тэгов
[ url]http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=5545&page=1[ /url]
то получите ссылку
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=5545&page=1 | |
|
|
|
|
|
|
|
для: cheops
(19.07.2005 в 14:51)
| | Пробую...
См. сайт http://www.softtime.ru
Я понял, между псевдотегами нужно заключать адрес ссылки, а я заключал слово или фразу.
Т.е. хотел так:
См. сайт где есть отличный форум PHP.
При этом фраза "форум PHP" становится ссылкой (подчеркнутой и синего цвета), а при наведении на нее мышью в строке состояния появляется: http://www.softtime.ru/forum/
Просто ваш форум так устроен :-) | |
|
|
|