21. Furax - 07 Июня, 2008 - 03:49:08 - перейти к сообщению
Полный код обработки добавленного сообщения и переработки его в HTML-код в студию!
22. kastyan - 07 Июня, 2008 - 05:07:09 - перейти к сообщению
там два файла , новостной и форумный и кстати в новостном кнопки так и неработают
23. Furax - 07 Июня, 2008 - 07:15:44 - перейти к сообщению
Дурной скрипт, корректное разруливание ссылок не предусмотрено. Кстати, для проведения инжекций просто рай, ибо никакие проверки не выполняются - можно, скажем, такое написать в тегах [url], что при проведении мыши над этой ссылкой будет редирект. Как здесь разрулить ситуацию с повторной обработкой - с ходу в голову не приходит, я разбор bb-тегов в своё время иначе делал.
А этот код гляди что выдаёт:
А этот код гляди что выдаёт:
CODE:
<?php
header('content-type: text/plain');
$a = array("http://bash.org.ru/", "[url]http://bash.org.ru/[/url]", "[url=http://bash.org.ru/]BashOrgRu[/url]");
foreach ($a as $value)
{
$value=eregi_replace("((https?|ftp)://[[:alnum:]_=/-]+(\\.[[:alnum:]_=/-]+)*(/[[:alnum:]+&._=/~%]*(\\?[[:alnum:]?+&;_=/%]*)?)?)", "<a href='\\1' target='_blank'>\\1</a>", $value);
$value = eregi_replace("(.*)\\[url\\](.*)\\[/url\\](.*)","\\1<a class=lib href='\\2' target=_blank>\\2</a>\\3",$value);
$value = eregi_replace("(.*)\\[url=(.*)\\](.*)\\[/url\\](.*)","\\1<a class=lib href='\\2' target=_blank>\\3</a>\\4",$value);
echo "$value\n";
}
?>
header('content-type: text/plain');
$a = array("http://bash.org.ru/", "[url]http://bash.org.ru/[/url]", "[url=http://bash.org.ru/]BashOrgRu[/url]");
foreach ($a as $value)
{
$value=eregi_replace("((https?|ftp)://[[:alnum:]_=/-]+(\\.[[:alnum:]_=/-]+)*(/[[:alnum:]+&._=/~%]*(\\?[[:alnum:]?+&;_=/%]*)?)?)", "<a href='\\1' target='_blank'>\\1</a>", $value);
$value = eregi_replace("(.*)\\[url\\](.*)\\[/url\\](.*)","\\1<a class=lib href='\\2' target=_blank>\\2</a>\\3",$value);
$value = eregi_replace("(.*)\\[url=(.*)\\](.*)\\[/url\\](.*)","\\1<a class=lib href='\\2' target=_blank>\\3</a>\\4",$value);
echo "$value\n";
}
?>
CODE:
<a href='http://bash.org.ru/' target='_blank'>http://bash.org.ru/</a>
<a class=lib href='<a href='http://bash.org.ru/' target='_blank'>http://bash.org.ru/</a>' target=_blank><a href='http://bash.org.ru/' target='_blank'>http://bash.org.ru/</a></a>
<a class=lib href='<a href='http://bash.org.ru/' target='_blank'>http://bash.org.ru/</a>' target=_blank>BashOrgRu</a>
<a class=lib href='<a href='http://bash.org.ru/' target='_blank'>http://bash.org.ru/</a>' target=_blank><a href='http://bash.org.ru/' target='_blank'>http://bash.org.ru/</a></a>
<a class=lib href='<a href='http://bash.org.ru/' target='_blank'>http://bash.org.ru/</a>' target=_blank>BashOrgRu</a>
24. kastyan - 07 Июня, 2008 - 11:15:41 - перейти к сообщению
кароче мне наверно нужно хоть немного поспать
25. kastyan - 07 Июня, 2008 - 18:43:33 - перейти к сообщению
И что делать ?
26. Furax - 09 Июня, 2008 - 11:03:40 - перейти к сообщению
Подожди денёк или 2, допишу свой скрипт обработки bb-кодов и можешь юзать, если хочешь.
27. kastyan - 09 Июня, 2008 - 16:55:02 - перейти к сообщению
Большое спосибо
Спрошу с интереса , я нешел выход и уменя ссылки и картинки отображаются нормально , но когда вставлять их подряд 1,2,3,4,5 то они отображаются как я раньше описевал с таким кодом
Спрошу с интереса , я нешел выход и уменя ссылки и картинки отображаются нормально , но когда вставлять их подряд 1,2,3,4,5 то они отображаются как я раньше описевал с таким кодом
CODE:
$dt[4] = eregi_replace("(.*)\\[img\\](.*)\\[/img\\](.*)","\\1<img src='\\2' border='0'>\\3", $dt[4]);
$dt[4] = eregi_replace("(.*)\\[url\\](.*)\\[/url\\](.*)","\\1<a class='lib' href='\\2' target='_blank'>\\2</a>\\3", $dt[4]);
$dt[4] = eregi_replace("(.*)\\[url=(.*)\\](.*)\\[/url\\](.*)","\\1<a class='lib' href='\\2' target='_blank'>\\3</a>\\4", $dt[4]);
$dt[4] = eregi_replace("(.*)\\[url\\](.*)\\[/url\\](.*)","\\1<a class='lib' href='\\2' target='_blank'>\\2</a>\\3", $dt[4]);
$dt[4] = eregi_replace("(.*)\\[url=(.*)\\](.*)\\[/url\\](.*)","\\1<a class='lib' href='\\2' target='_blank'>\\3</a>\\4", $dt[4]);
28. Furax - 09 Июня, 2008 - 22:28:44 - перейти к сообщению
То есть Ты убрал вот эту строку:
CODE:
Она отвечает за выделение ссылок в тексте. Тоже решение...
$value=eregi_replace("((https?|ftp)://[[:alnum:]_=/-]+(\\.[[:alnum:]_=/-]+)*(/[[:alnum:]+&._=/~%]*(\\?[[:alnum:]?+&;_=/%]*)?)?)", "<a href='\\1' target='_blank'>\\1</a>", $value);
29. kastyan - 15 Июня, 2008 - 04:35:25 - перейти к сообщению
В чём может быть проблема с этим кодом
когда хочешь закинуть через img фоток пару то только одна отобразится а все остальные отображаются кодом :
или это проблема вовсе не внём ?
CODE:
$dt[4] = eregi_replace("(.*)\\[img\\](.*)\\[/img\\](.*)","\\1<img src='\\2' border='0'>\\3", $dt[4]);
когда хочешь закинуть через img фоток пару то только одна отобразится а все остальные отображаются кодом :
CODE:
[img]http://sayttipa.cc/images/fester.jpg[/img]
или это проблема вовсе не внём ?
30. kastyan - 03 Июля, 2008 - 20:21:38 - перейти к сообщению
Виной та строка что я убрал ?
CODE:
$value=eregi_replace("((https?|ftp)://[[:alnum:]_=/-]+(\\.[[:alnum:]_=/-]+)*(/[[:alnum:]+&._=/~%]*(\\?[[:alnum:]?+&;_=/%]*)?)?)", "<a href='\\1' target='_blank'>\\1</a>", $value);