smarty phpnuke
7 отговора
0 прегледа
smarty phpnuke
здравейте
налага ми се да пренапиша кода на един.... няма определение какво точно е, тъй като е смесено smarty, phpnuke и още 2 незнайни същества. всичко вървеше добре докато не стигнах до проблема как да изчистя "кода" генериран от стара версия на fckeditor. и тъй като не мога да пипам нито пхп файловете (кодирани са), нито базата данни която пази генерираниат от fckeditor код, остава да ползвам регулярни изрази които открих из хтмл template-тите, но тъй като с тях съм като дупе и гащи ви моля за помощ да дадете идея как ще проработи това:
{ext->block name='Contacts 1' id=$data.page.id template='default.html' type='block_text'}
това горе пуска няколко реда <DIV, <FONT, <STRONG и други подобни и ми трябва да ги махна.
регулярниат израз който открих е този
{$ttf|regex_replace:"/<TABLE.*?>/":"<table align='center' cellSpacing='2' cellPadding='2' class='ttf'>"}
та как да смеся тва чудо с онова горе та да ми изтие ненужните кодове?
предварителни благодарности
налага ми се да пренапиша кода на един.... няма определение какво точно е, тъй като е смесено smarty, phpnuke и още 2 незнайни същества. всичко вървеше добре докато не стигнах до проблема как да изчистя "кода" генериран от стара версия на fckeditor. и тъй като не мога да пипам нито пхп файловете (кодирани са), нито базата данни която пази генерираниат от fckeditor код, остава да ползвам регулярни изрази които открих из хтмл template-тите, но тъй като с тях съм като дупе и гащи ви моля за помощ да дадете идея как ще проработи това:
{ext->block name='Contacts 1' id=$data.page.id template='default.html' type='block_text'}
това горе пуска няколко реда <DIV, <FONT, <STRONG и други подобни и ми трябва да ги махна.
регулярниат израз който открих е този
{$ttf|regex_replace:"/<TABLE.*?>/":"<table align='center' cellSpacing='2' cellPadding='2' class='ttf'>"}
та как да смеся тва чудо с онова горе та да ми изтие ненужните кодове?
предварителни благодарности
Re: smarty phpnuke
Ух, голяма боза... Ами твърде малко съм работил със Smarty и подобни, но това горе явно търси <TABLE> или <TABLE ALA="bala"> в $ttf и го заменя с <table align='center' cellSpacing='2' cellPadding='2' class='ttf'>.
Та ако, да речем, в темплейта имаш
{$gosho}
това може да се замени със:
{$gosho|regex_replace:"/<\/?(font|div|strong).*?>/i":""}
Това би трябвало да премахне всички <FONT></FONT>, <DIV></DIV>, <STRONG></STRONG> тагове с главни и малки букви.
А в комбиниран вариант, regex_replace модификатора се слага след името на функцията:
{ext->block|regex_replace:"/<\/?(font|div|strong).*?>/i":"" name='Contacts 1' id=$data.page.id template='default.html' type='block_text'}
(не давам гаранции, че ще проработи :))
---
Life is too short so love the one you got
Cause you might get run over or you might get shot
Та ако, да речем, в темплейта имаш
{$gosho}
това може да се замени със:
{$gosho|regex_replace:"/<\/?(font|div|strong).*?>/i":""}
Това би трябвало да премахне всички <FONT></FONT>, <DIV></DIV>, <STRONG></STRONG> тагове с главни и малки букви.
А в комбиниран вариант, regex_replace модификатора се слага след името на функцията:
{ext->block|regex_replace:"/<\/?(font|div|strong).*?>/i":"" name='Contacts 1' id=$data.page.id template='default.html' type='block_text'}
(не давам гаранции, че ще проработи :))
---
Life is too short so love the one you got
Cause you might get run over or you might get shot
Редактирано от chernobyl на
тогава
ob_start();
$contents = ob_get_contents();
ob_end_clean();
preg_replace('vsi4kite bozi' , $contents);
но е дървено решение
root@ro6avia#echo rm -rf * > /bin/seek_and_destroy
root@ro6avia#/bin/seek_and_destroy
$contents = ob_get_contents();
ob_end_clean();
preg_replace('vsi4kite bozi' , $contents);
но е дървено решение
root@ro6avia#echo rm -rf * > /bin/seek_and_destroy
root@ro6avia#/bin/seek_and_destroy
Re: тогава
в пхп файла не мога да го сложа, тъй както казах е кодиран
а в другият не работи
а в другият не работи
Re: тогава
ами направи го отвън - взимаш резултата от изпълнението и след обработка го пращаш към браузера:
$data = file("[линк]");
replace на нещата и
echo $new_data
root@ro6avia#echo rm -rf * > /bin/seek_and_destroy
root@ro6avia#/bin/seek_and_destroy
$data = file("[линк]");
replace на нещата и
echo $new_data
root@ro6avia#echo rm -rf * > /bin/seek_and_destroy
root@ro6avia#/bin/seek_and_destroy
Re: тогава
ц и с това не ще ината му. оставям го, пък ако толкова трябва, да си намерят оригиналните файлове и ще го направя.
благодарности
благодарности