Mira
![](http://forum.ru-board.com/board/avatars/Fish.gif)
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Подскажите пожалуйста как реализовать следующее. Нужно после ввода формы разреть ссылки и картинки только на свои сайты. К примеру. Есть сайты site1.ua site2.ua site3.ua. Вот все ссылки в сообщении делать активными и разрешать... удаление всех ссылок и всех тегов сделал strip_tags - это просто что бы не удалять свои сайты сделал типа замены str_replace (array({SITE1},{SITE1},{SITE3}), array("site1.ua","site2.ua","site3.ua"), $msg) те я хочу при вводе любого урла на эти сайты 1. удалять http:// если он есть - это просто 2. заменять сайты на строки вида ,{SITE3}/url.html на <a href="http://,{SITE3}/url.html ">url.html</a> и картинки ,{SITE3}/folder/pict.jpg на <a href="http://,{SITE3}/}/folder/pict.jpg">}/folder/pict.jpg </a> - это тоже не сложно. Столкнулся с проблемой не могу правильно распарсить строку. preg_match_all("|[http://]?([site1\.ua|site3\.ua|site3\.ua])([-_a-z0-9\./]+)|Ui",$msg, $m); Может кто кинет ссылку на подобный скрипт или подскажет в чем я ошибаюсь. спс Добавлено: Ой. а может это правильней сделать через preg_replace? Добавлено: подскажите пожалуйста, почему вот так работает preg_replace("|[http://]*site1\.ua([-_a-z0-9\./]+)|im", "[a href={site1}$1]$1[/a]",$msg); а так нет preg_replace("|[http://]?site1\.ua([-_a-z0-9\./]+)|im", "[a href={site1}$1]$1[/a]",$msg); Второе ведь правильней. | Всего записей: 1627 | Зарегистр. 25-11-2003 | Отправлено: 09:26 25-07-2009 | Исправлено: Mira, 09:32 25-07-2009 |
|