ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

13.04.2010, 10:18
|
|
Познающий
Регистрация: 15.02.2009
Сообщений: 54
Провел на форуме: 142825
Репутация:
7
|
|
AtomoS я тоже по этому вопросу. читай мой пост далее!
Кто может просвятить в функции preg_replace?? Вабще не знаю как составлять маску 
Уменя есть скрипт, который переводит "bb" в html код.
PHP код:
function goMSC($resX) {
if (empty($resX)) return 'no data';
$resX = nl2br(htmlspecialchars($resX));
$resX = preg_replace('/\[img\](.+?)\[\/img\]/i','<img src="$1" class="img" />', $resX);
$resX = preg_replace('/\[url\](.+?)\[\/url\]/i','<a href="$1">$1</a>', $resX);
$resX = preg_replace('/\[b\](.+?)\[\/b\]/i','<b>$1</b>', $resX);
$resX = preg_replace('/\[u\](.+?)\[\/u\]/i','<u>$1</u>', $resX);
$resX = preg_replace('/\[i\](.+?)\[\/i\]/i','<i>$1</i>', $resX);
$resX = preg_replace('/\[left\](.+?)\[\/left\]/i','<div style="float: left">$1</div>', $resX);
$resX = preg_replace('/\[right\](.+?)\[\/right\]/i','<div style="float: right">$1</div>', $resX);
return $resX;
}
// [b]AtomoS[/b]! Вот работающий :) простой код!!!
Он своё дело делает, но есть код, который обрезает всё после новой строки и убирает содержимое тегов и, по идее, должен убирать и сами теги но этого не происходит
PHP код:
function clearMSC($resX) {
if (empty($resX)) return 'no data';
$resX = htmlspecialchars($resX);
$resX = preg_replace('/\[img\](.+?)\[\/img\]/i','', $resX);
$resX = preg_replace('/\[url\](.+?)\[\/url\]/i','$1', $resX);
$resX = preg_replace('/\[b\](.+?)\[\/b\]/i','$1', $resX);
$resX = preg_replace('/\[u\](.+?)\[\/u\]/i','$1', $resX);
$resX = preg_replace('/\[i\](.+?)\[\/i\]/i','$1', $resX);
$resX = preg_replace('/\[left\](.+?)\[\/left\]/i','$1', $resX);
$resX = preg_replace('/\[right\](.+?)\[\/right\]/i','$1', $resX);
$resX = explode("r\n", $resX);
$resX = $resX[0];
return $resX;
}
Вот. И если в пропустить через эту функцию такую строку:
Код:
[left\][img\]http://www.google.ru/intl/en_com/images/logo_plain.png[/img\][/left\]
то остаются теги [left\] [/left\]!
Код:
[left\]http://www.google.ru/intl/en_com/images/logo_plain.png[/left\]
- а так работает.
Как можно изменить маску или код, чтобы функция удаляла и теги тоже  Спасибо.
Последний раз редактировалось [K4t]; 13.04.2010 в 10:20..
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|