PHP-Fusion Mods
Регистрация или вход Главная | Архив новостей | Файловый архив | Статьи | Форум | Веб ссылки | Заказ плагина
Language
Select language:
English
Russian
Навигация
Главная
Архив новостей
Файловый архив
Статьи
Форум
Темы для php-fusion
FAQ
Веб ссылки
Поиск
Обратная связь
Учебник по php
Наши баннеры
Пожертвование

Заказ плагина
Сейчас на сайте
Гостей: 1
На сайте нет зарегистрированных пользователей

Пользователей: 447
Посетитель: aligovs
Недавние визиты:
AlexALX 15 недель
aligovs 91 недель
Kolesilo 141 недель
aussietop... 167 недель
Tomax 180 недель
Kalqkwm 198 недель
mrcredoz 212 недель
Vveb--ws 289 недель
jikaka 401 недель
nui 418 недель

Наша кнопка
Последние статьи
Область применения CMS
Описание ядра PHP-Fu...
Как работает PHP
Основы на PHP
Устройство тем в PHP...
Загрузок
Новые загрузки
Theme_2
Theme_1
Theme_3
GeO
Stability Lite ...

Топ 5 загрузок
База игр [14749]
Errors Mod [12245]
Мод "index.php ... [11013]
Мод "проверочны... [8187]
PHP-Fusion Core... [7101]
Рекомендуем посетить

Просмотр темы

PHP-Fusion Mods | php-fusion | Вопрос/ответ
Автор изменение bbcode и работа с preg_replace
2b
Пользователь

Сообщений: 4
Зарегистрирован: 05.06.08
Опубликовано 05/06/2008 01:25:14
В общем вопрос такой...
Стал редактировать ббкоды в maincore.php
изменил стандартный тег [img][/img] на:
$text = preg_replace("#\[img\]((http|ftp|https|ftps)://)(.*?)(\.(jpg|jpeg|gif|png|JPG|JPEG|GIF|PNG))\[/img\]#sie","'<a href=\'\\1'.str_replace(array('.php','?','&','='),'','\\3').'\\4\' class=\'highslide\' onClick=\'return hs.expand(this);\'><img src=\'\\1'.str_replace(array('.php','?','&','='),'','\\3').'\\4\' style=\'width: 300px; border: none;\'><div style=\'width: 300px; text-align: right;\'><img src=\'/theme/diz/increase.gif\' style=\'border: none;\'> Увеличить</div></a>'",$text);




Но тут появилась проблема... код обрезается из за строчки
onClick=\'return hs.expand(this);\'




Если её убрать то ничего не обрезает, а если он будет то отрезается с начала и до конца этой строчки

В общем вопрос такой.. почему он обрезает тег onClick и как это исправить? :(
Автор RE: изменение bbcode и работа с preg_replace
AlexALX
Супер Администратор

Avatar пользователя

Сообщений: 401
Зарегистрирован: 30.01.08
Опубликовано 05/06/2008 10:04:37
У тебя много ошибок в регулярном выражении, попробуй писитать в нете дето про регулярные выражения и функцию preg_replace.

А вообще тут ошибки заключаются в том, что в preg replace символы . $ / ( )и некоторые другие считаются спец символами, а чтобы они были нормальными, то нужно ставить перед ними "\" :)
3442387 http://alexalx-soft.com/
Автор RE: изменение bbcode и работа с preg_replace
2b
Пользователь

Сообщений: 4
Зарегистрирован: 05.06.08
Опубликовано 05/06/2008 11:00:10
Дело в том что даже если написать

onClick=\'\'




То он тоже обрезает... не пойму почему..
Автор RE: изменение bbcode и работа с preg_replace
AlexALX
Супер Администратор

Avatar пользователя

Сообщений: 401
Зарегистрирован: 30.01.08
Опубликовано 05/06/2008 12:45:58
2b написал:
Дело в том что даже если написать

onClick=\'\'




То он тоже обрезает... не пойму почему..
Скобки тоже спец символы. Я про ( и )
3442387 http://alexalx-soft.com/
Автор RE: изменение bbcode и работа с preg_replace
2b
Пользователь

Сообщений: 4
Зарегистрирован: 05.06.08
Опубликовано 07/06/2008 04:03:11
В общем извратился, но вопрос решил )))

Вот что в итоге сделал:

$text = preg_replace('#\[img\]((http|ftp|https|ftps)://)(.*?)(\.(jpg|jpeg|gif|png|JPG|JPEG|GIF|PNG))\[/img\]#si','<div class="thumbs"><script type="text/javascript">t2="onClick";t3="=\'return hs.expand(this)\'";t1="<a href=\'\\1'.str_replace(array('.php','?','&','='smiley,'','\\3'smiley.'\\4\' class=\'highslide\' ";document.write(""+t1+""+t2+""+t3+"><img width=\'150\' src=\'\\1'.str_replace(array('.php','?','&','='smiley,'','\\3'smiley.'\\4\' style=\'border:none;\'><div style=\'width: 150px; text-align: right;\'><img src=\'/theme/diz/increase.gif\' style=\'border: none;\'> Увеличить</div></a>");</script></div>',$text);




Изврат, но что уж делать smiley
Автор RE: изменение bbcode и работа с preg_replace
AlexALX
Супер Администратор

Avatar пользователя

Сообщений: 401
Зарегистрирован: 30.01.08
Опубликовано 07/06/2008 12:13:35
2b написал:
В общем извратился, но вопрос решил )))

Вот что в итоге сделал:

$text = preg_replace('#\[img\]((http|ftp|https|ftps)://)(.*?)(\.(jpg|jpeg|gif|png|JPG|JPEG|GIF|PNG))\[/img\]#si','<div class="thumbs"><script type="text/javascript">t2="onClick";t3="=\'return hs.expand(this)\'";t1="<a href=\'\\1'.str_replace(array('.php','?','&','='),'','\\3').'\\4\' class=\'highslide\' ";document.write(""+t1+""+t2+""+t3+"><img width=\'150\' src=\'\\1'.str_replace(array('.php','?','&','='),'','\\3').'\\4\' style=\'border:none;\'><div style=\'width: 150px; text-align: right;\'><img src=\'/theme/diz/increase.gif\' style=\'border: none;\'> Увеличить</div></a>");</script></div>',$text);




Изврат, но что уж делать :)


1. Отключаем смайлы.
2. ( и ) - спец символы, как оно заработало - хз, это не правельно.
3442387 http://alexalx-soft.com/
Автор RE: изменение bbcode и работа с preg_replace
2b
Пользователь

Сообщений: 4
Зарегистрирован: 05.06.08
Опубликовано 08/06/2008 04:32:35
Работает smiley.

Да, смайлы забыл выключить.
Перейти на форум:
Гость
Имя

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Голосование
Конвертировать мой мини-чат для php-fusion v7?

148 70% Да!
Да!

62 30% Нет.
Нет.

Проголосовало: 210
Открылся: 22/08/2009 18:52:10
Закрылся: 26/03/2010 23:22:44

Архив опросов

Мини-чат
Вам необходимо залогиниться.

Связь
Счётчики и топы
Счётчики
Главная | Архив новостей | Файловый архив | Статьи | Форум | Веб ссылки | Заказ плагина
© 2008-2011 by AlexALX
Powered by php-fusion v6 copyright © 2003-2006 by Nick Jones.
Released as free software under the terms of the GNU/GPL license.
Designed by Alex Unknown © 2008.
10,534,191 уникальных посетителей