 |
|
|
| | Здравствуйте!!!
Мне нужно сделать как у вас на форуме вот допустим это [ b][ /b] заменяется на это <b></b> | |
| |
|
|
 |
|
|
| |
для: Адоп Акробат
(09.10.2004 в 19:18)
| | | Хм... самый простой вариант заменить тег в квадратных скобках на соотвествующий HTML-эквивалент при помощи функции str_replace():
<?php
$str = str_replace("[ b]","<b>",$str);
$str = str_replace("[ /b]","</b>",$str);
?>
|
Более защищённый и более сложный вариант приведён по ссылке.
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=142 | |
| |
|
|
 |
|
|
| |
для: cheops
(09.10.2004 в 19:31)
| | | Пасиба | |
| |
|
|
 |
|
|
| |
для: cheops
(09.10.2004 в 19:31)
| | | Невтему но не потскажете как зделать чтобы когда нажемаешь на кнопку она вставляла текст. Допустем как у вас когда нажемаешь на [ b][ /b] он вносит в сообщение этиже строки | |
| |
|
|
 |
|
|
| |
для: Адоп Акробат
(09.10.2004 в 20:11)
| | | Делается это Ява-скриптом
Ссылка выглядит таким образом
<a href=# onClick="javascript:tag('', '')">[b][/b]</a>
|
А вот собственно и нужная функция tag
function tag(text1, text2)
{
if ((document.selection))
{
document.form.message.focus();
document.form.document.selection.createRange().text = text1+document.form.document.selection.createRange().text+text2;
} else document.form.message.value += text1+text2;
}
|
| |
| |
|
|
 |
|
|
| |
для: glsv (Дизайнер)
(09.10.2004 в 20:54)
| | | Чота не получаеца может там чота надо изменить? | |
| |
|
|
 |
|
|
| |
для: Адоп Акробат
(09.10.2004 в 21:16)
| | | Это решение предложил Igorek в своё время - по ссылке оригинальное сообщение.
http://www.softtime.ru/forum/read.php?id_forum=2&id_theme=376&page=1 | |
| |
|
|
 |
|
|
| |
для: cheops
(09.10.2004 в 21:30)
| | | Получилось уряяя!!!
Большое спасибо | |
| |
|
|
 |
|
|
| |
для: glsv (Дизайнер)
(09.10.2004 в 20:54)
| | | Ну я как бы только заготовку дал...
Вот рабочий вариант:
<a href=# onClick="javascript:tag('<b>', '</b>')">222222</a>
<form name=form>
<textarea name=message cols="30" rows="5"></textarea>
</form>
<script language='JavaScript1.1'>
function tag(text1, text2)
{
if ((document.selection))
{
document.form.message.focus();
document.form.document.selection.createRange().text = text1+document.form.document.selection.createRange().text+text2;
} else document.form.message.value += text1+text2;
}
</script>
|
Вместо <b> </b> в функции tag('<b>', '</b>') нужно писать тэги в квадратных скобках. Здесь просто не получается написать :) | |
| |
|
|
 |
|
|
| |
для: glsv (Дизайнер)
(09.10.2004 в 22:23)
| | | А как мне это зделать с сылкой наподобее
[ url][ /url] ?? | |
| |
|
|
 |
|
|
| |
для: Адоп Акробат
(09.10.2004 в 23:02)
| | | В качестве аргументов функции tag('<b>', '</b>') следует подставить соответствующие тэги:
| |
| |
|
|
 |
|
|
| |
для: cheops
(09.10.2004 в 23:16)
| | | Не я ведь не до такой степени дурак :)
Не получаеся ссылка ведь строится вот так <a href="ссылка">А тут название</a>
??
[поправлено модератором] | |
| |
|
|
 |
|
|
| |
для: Адоп Акробат
(10.10.2004 в 01:58)
| | | Да кроме этого, требуется, чтобы форма называлась form, а текстовая область message
<form name=form method=post action=handler.php>
<textarea cols=76 rows=10 name=message></textarea>
</form>
|
| |
| |
|
|
 |
|
|
| |
для: cheops
(10.10.2004 в 10:32)
| | | Нет это все у меня получилось но не получаеца с ссылкой я делаю вот так
$_REQUEST["text"] = str_replace("[url]", "<a href=''>", $_REQUEST["text"]);
$_REQUEST["text"] = str_replace("[/url]", "</a>", $_REQUEST["text"]);
|
Допустим если посетитель введет вот это
[ url]www.softtime.ru[ /url]
то тогда ссылка построица вот таким оброзом
<a href=''>www.softtime.ru</a>
И получица точто ссылка пуста.только название :( | |
| |
|
|
 |
|
|
| |
для: Адоп Акробат
(10.10.2004 в 16:22)
| | | А, ну здесь, просто следует замену организовать с привлечением регулярных выражений. Т.е. вместо двух приведённых вами замен использовать:
<?php
$_REQUEST["text"] = preg_replace("/\[url\]\s*(\S*)\s*\[\/url\]/si",'<a href="\\1">\\1</a>',$_REQUEST["text"]);
?>
|
| |
| |
|
|
 |
|
|
| |
для: cheops
(10.10.2004 в 16:54)
| | | Спасиба хеопс с этим получилось. А как мне зделать обратно.
Вот у меня на сайте можно создавать текст и потом его изменять.Как мне зделать чтобы когда пользователь нажимает на кнопку изменить, то ссылка :
<a href='http://www.softtime.ru'>http://www.softtime.ru</a>
формеровалось в обратную сторанну:
[ url]http://www.softtime.ru[ /url]
??
Читал мануал, ничо не понил :( | |
| |
|
|
 |
|
|
| |
для: Адоп Акробат
(10.10.2004 в 18:09)
| | | Это можно сделать при помощи следующего регулярного выражения:
<?php
$string = "А вот и ссылка, которую я хотел представить <a href=http://www.softtime.ru>www.softtime.ru</a>, по этой ссылке...";
$pattern = "|<a[^>]*>([^<]*)</a>|i";
$replacement = "[ url]\\1[ /url]";
echo preg_replace($pattern, $replacement, $string);
?>
|
| |
| |
|
|
 |
|
|
| |
для: cheops
(10.10.2004 в 19:28)
| | | Понил спасибо | |
| |
|
|
 |
|
|
| |
для: Адоп Акробат
(10.10.2004 в 20:18)
| | | извените а ссылку такого формата [ url=linet.ru]Ссылка на линет[ /url]
преобразовалась вот в эту
<a href=linet.ru>Ссылка на линет</a> | |
| |
|
|
 |
|
|
| |
для: Ozxar
(19.12.2004 в 04:01)
| | | Можно воспользоваться следующим регулярным выражением:
<?php
$string = "А вот и [ur1 = http://www.softtime.ru]ссылка[/ur1], которую я хотел представить, по этой ссылке...";
$pattern = "|\[ur1[^=]*=[\s]*([^\]]*)\]([^\[]*)\[/ur1\]|i";
$replacement = "<a href=\\1>\\2</a>";
echo preg_replace($pattern, $replacement, $string);
?>
|
Здесь url заменён на ur1, чтобы не форум не интерпретировал код неправильно. | |
| |
|
|
 |
|
|
| |
для: cheops
(19.12.2004 в 10:08)
| | | А на JavaScript как написать скрипт чтоб создавался такой тег? | |
| |
|
|
 |
|
|
| |
для: Ozxar
(19.12.2004 в 20:42)
| | | Это лучше спросить в http://www.softtime.ru/forum/index.php?id_forum=4, но нужно уточнить что должно получиться в конечном итоге... | |
| |
|
|