[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: preg_replace
Страницы: 1, 2, 3, 4
killer8080
AIIPEJIb
откуда в твоем вар дампе экранирующие слеши? Откуда берется этот контент?
AIIPEJIb
Цитата (OleKh @ 16.01.2013 - 00:39)
может так, экранирование добавил

$pattern = '/(src=\\")(.*)(kcfinder(.*)\" (?:s))/';
$string =  preg_replace($pattern, '', $string);

нет не срабатывает. :(
AIIPEJIb
killer8080

из ПОСТА который приходит с формы CKEditor'a
а после обработки в базу

в базе экранов нету:
Свернутый текст
<p>
<img
alt="" src="/mmm/kcfinder/upload/images/1.10.jpg" style="width: 256px; height: 149px;"/></p>


видимо вардамп так рисует
killer8080
Видимо данные берешь не из базы, а из поста. Отключи magic quotes gpc
OleKh
может так )
$pattern = '/(src=.*")(.*)(kcfinder(.*)\" (?:s))/';
$string = preg_replace($pattern, 'src="$3', $string);
killer8080
OleKh
Цитата (OleKh @ 15.01.2013 - 23:00)
может так )

зачем?
AIIPEJIb
Цитата (killer8080 @ 16.01.2013 - 00:49)
Видимо данные берешь не из базы, а из поста. Отключи magic quotes gpc

Отработало верно!
но только после отключения в в .ini
вот так не захотел:

ini_set('magic_quotes_gpc', 'Off');
var_dump ($Text_str );
$pattern = '/(src=\\")(.*)(kcfinder(.*)\" (?:s))/';
$Text = preg_replace($pattern, '$1$3', $Text_str);
var_dump ($Text );
ini_set('magic_quotes_gpc', 'On');
killer8080
Цитата (AIIPEJIb @ 15.01.2013 - 23:04)
вот так не захотел:
ini_set('magic_quotes_gpc', 'Off');

естественно, постфактум отключение бесполезно, входные данные уже обработаны, до вызова ini_set. Если нет доступа к ini можно через .htaccess
php_flag magic_quotes_gpc Off 
php_flag magic_quotes_runtime Off

если хостер позволяет
OleKh
Цитата
вот так не захотел:

потому что src=\\" с учетом экранирования
AIIPEJIb
но если перед src есть еще параметры то не работает!
например:
<img border="0" id="MathMLEq1" src="/mmm/kcfinder/upload/images/formula/D43DFA99-E0CB-DDB2-FB32-DD4EDCE14905.JPG" />
killer8080
Если отключить их на хостинге по какой то причине не удаётся, эта функция откатит их "волшебный" эффект :)
function undo_gpc(){
if(!get_magic_quotes_gpc())
return;

$gpc = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST);
array_walk_recursive($gpc, create_function('&$v', '$v = stripslashes($v);'));
}
killer8080
Цитата (AIIPEJIb @ 15.01.2013 - 23:09)
но если перед src есть еще параметры то не работает!

мой вариант?
OleKh
Цитата (killer8080 @ 15.01.2013 - 21:02)
OleKh
Цитата (OleKh @ 15.01.2013 - 23:00)
может так )

зачем?

) тренируюсь в регулярных выражениях
AIIPEJIb
Цитата (killer8080 @ 16.01.2013 - 01:11)
Цитата (AIIPEJIb @ 15.01.2013 - 23:09)
но если перед src есть еще параметры то не работает!

мой вариант?

я отключил директиву.

вот так отработалось правильно:
$pattern = '/(src=\")(.*)(kcfinder(.*)\" (?:s))/';
$Text = preg_replace($pattern, '$1$3', $Text_str);


за исключением случая когда есть параметры перед src
AIIPEJIb
Наврал!

вот такая:
<img alt="" src="/mmm/kcfinder/upload/images/1.1.1.JPG" style="width: 189px; height: 120px;" />

обработалась нормально:
<img alt="" src="kcfinder/upload/images/1.1.1.JPG" style="width: 189px; height: 120px;" />


а вот такая не отработалась:
<img border="0" id="MathMLEq1" src="/mmm/kcfinder/upload/images/formula/D43DFA99-E0CB-DDB2-FB32-DD4EDCE14905.JPG" />
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.