vandal » 2008.01.15 00:43

Админ скажи как сделать вот здесь $msg = preg_replace('#\ПЛОХОЕ СЛОВО#si', '<img src="/bb/ban.gif"/>', $msg); чтоб где плохое слово было не только одно слово а например набор.чтоб для каждого слова не писать отдельный код типа  $msg = preg_replace('#\мразь#si', '<img src="/bb/ban.gif"/>', $msg);  $msg = preg_replace('#\дрянь#si', '<img src="/bb/ban.gif"/>', $msg);  $msg = preg_replace('#\сука#si', '<img src="/bb/ban.gif"/>', $msg); и т.д

Gemorroj » 2008.01.15 01:32

Код:

1
span style="color: #0000BB"><?php$msg = preg_replace('/хуй|пизда|пидор/is', '<img src="/bb/ban.gif"/>', $msg);?>

через | добавляй слова =)

vandal » 2008.01.15 08:32

большое спасибо.пойду делать:)

vandal » 2008.01.15 09:04

и ещё вопрос как сделать чтоб слова не были чувствительны к регистру.

Gemorroj » 2008.01.15 11:01

http://ru.php.net/manual/ru/reference.p … ifiers.php
i (PCRE_CASELESS)
Если этот модификатор используется, символы в шаблоне соответствуют символам как верхнего, так и нижнего регистра.

вобщем моддификатор i - делает шаблон нечувствительным к регитру. В данном коде он уже используется.

vandal » 2008.01.15 13:41

дык прочитал ведь учебник на visavi и ничего не нашёл про i. ты не мог бы написать где мне в коде надо это вставить:)

Добавлено спустя   6 минут  17 секунд:
:))

Gemorroj » 2008.01.15 16:45

на висави слишком много слабо соображающих кодеров, поэтому информация там очень нехорошего качества так сказать.
'/хуй|пизда|пидор/is' - конце is видишь? это 2 модификатора - i и s
s в свою очередь делает регулярное выражение не чувствительным к пробельным символам и переносам строк.

vandal » 2008.01.15 18:46

короче чет этот is ничего не пашет. посмотри http://krov.us/forum/index.php?id_forum=4&id_razd=40&id_them=373753962  там где написал большими буквами там не заменилось а где маленькими там всё нормал.чё это может быть? :(

Gemorroj » 2008.01.15 20:01

хм, да извиняюсь. есть еще модификатор u - он позволяет работать с UTF-8. сделай так

Код:

1
$msg = preg_replace('/хуй|пизда|пидор/isu', '<img src="/bb/ban.gif"/>', $msg);
vandal » 2008.01.15 21:38

вот теперь с этим разобрался-большое спасибо. И СКАЖИ УЖЕ ДЫК ДЛЯ ОБЩЕГО МОЕГО ЗНАНИЯ КАК СДЕЛАТЬ ЧТОБ НЕ ТОЛЬКО ТО ЧТО Я НАПИСАЛ В КОДЕ ЗАМЕНЯЛОСЬ А ВСЁ СЛОВО ЦЕЛИКОМ.

Gemorroj » 2008.01.16 11:22

тут подумать надо... =)

Gemorroj » 2008.01.16 11:54

хм, долго сидел, думал над регуляркой, а решение оказалось очень простоым =)

Код:

1
$msg = preg_replace('/(\S*)(хуй|пизда|пидор)(\S*)/isu', '<img src="/bb/ban.gif"/>', $msg);

Вроде работает =)

vandal » 2008.01.16 12:59

Пасиб;) шас поду попробую

Casper » 2008.01.24 02:49

А как эту функцию добавить сюда? http://wap.smartinet.org/file.zip

Gemorroj » 2008.01.24 09:07

впиши например на 250 строке.

Casper » 2008.01.25 06:19

Работает. Спасибо тебе!=)

kot » 2008.09.01 23:19

Привет !Нужна твоя консультация по добавлению bb-code Это файл функций bb-code с движка DCMS_4

Код:

1
lt;?function BBcode($msg){$msg = preg_replace('#\[b\](.*?)\[/b\]#si', '<b>\1</b>', $msg);$msg = preg_replace('#\[i\](.*?)\[/i\]#si', '<i>\1</i>', $msg);$msg = preg_replace('#\[u\](.*?)\[/u\]#si', '<u>\1</u>', $msg);$msg = preg_replace('#\[small\](.*?)\[/small\]#si', '<small>\1</small>', $msg);$msg = preg_replace('#\[big\](.*?)\[/big\]#si', '<big>\1</big>', $msg);$msg = preg_replace('#\[red\](.*?)\[/red\]#si', '<span style="color:#FF0000">\1</span>', $msg);$msg = preg_replace('#\[green\](.*?)\[/green\]#si', '<span style="color:#00FF00">\1</span>', $msg);$msg = preg_replace('#\[blue\](.*?)\[/blue\]#si', '<span style="color:#0000FF">\1</span>', $msg);return $msg;}?>

Я хочу добавить добавить функцию [url],а как это реализовать не догоняю.Помоги пожалуйста.

Gemorroj » 2008.09.01 23:33

Код:

1
span style="color: #0000BB"><?phpfunction BBcode($msg){$msg = preg_replace('#\[b\](.*?)\[/b\]#si', '<strong>$1</strong>', $msg);$msg = preg_replace('#\[i\](.*?)\[/i\]#si', '<i>$1</i>', $msg);$msg = preg_replace('#\[u\](.*?)\[/u\]#si', '<u>$1</u>', $msg);$msg = preg_replace('#\[small\](.*?)\[/small\]#si', '<small>$1</small>', $msg);$msg = preg_replace('#\[big\](.*?)\[/big\]#si', '<big>$1</big>', $msg);$msg = preg_replace('#\[red\](.*?)\[/red\]#si', '<span style="color:#FF0000">$1</span>', $msg);$msg = preg_replace('#\[green\](.*?)\[/green\]#si', '<span style="color:#00FF00">$1</span>', $msg);$msg = preg_replace('#\[blue\](.*?)\[/blue\]#si', '<span style="color:#0000FF">$1</span>', $msg);$msg = preg_replace('#\[url=("\')(.*?)("\')\](.*?)\[/url\]#si', '<a href="$2">$4</a>', $msg);$msg = preg_replace('#\[url\](.*?)\[/url\]#si', '<a href="$1">$1</a>', $msg);return $msg;}?>

как-то так

kot » 2008.09.02 12:10

Не идёт что-то.Прописываю bb-codе с сылкой,как у тебя на форуме и ничего.Выводится как текст.

Gemorroj » 2008.09.02 13:44

Код:

1
span style="color: #0000BB"><?php$msg = preg_replace('#\[url=("|\'|)(.*?)("|\'|)\](.*?)\[/url\]#si', '<a href="$2">$4</a>', $msg);$msg = preg_replace('#\[url\](.*?)\[/url\]#si', '<a href="$1">$1</a>', $msg);?>
denich » 2008.09.02 18:21

есть целый класс BBcode ) ну или из мотора бы взял..

Gemorroj » 2008.09.02 19:31

есть библиотека XBB, которой всем советую пользоваться)

denich » 2008.09.03 12:41

выложи =)) сюды, её.. я пока что ток одну видел bbcode.lib.php

Gemorroj » 2008.09.03 18:42

http://xbb.uz/
вот еще почитай))) http://xbb.uz/news/filechats.bb

denich » 2008.09.04 00:25

гг )) прикольно.. 
и эта.. вообще, выкладывай чё нить интересное и полезное, а то я блин даж и незнаю где инфы полезной подчерпнуть.. :)
Добавлено спустя   2 минуты  8 секунд:
ну я про php информацию =))