2013-08-18 3 views
2

Я пытаюсь найти решение для вставки всех изображений в html-код в div.Вставка между и после с регулярным выражением

В настоящее время они хранятся в виде строк в базе данных MySQL, как этот

Some text <img src="link" alt=""> 

Я хочу, чтобы заменить все эти изображения с <div class="bilde"><img src="link" alt=""></div>

Я попытался

function bilde($saturs) { 
    preg_replace('<img(.*?)>', '<div class="bilde"><img$1></div>', $saturs); 
} 

и многие другие решения , но регулярное выражение - это не моя сильная сторона.

+0

Вы хотите обновить все строки, которые хранятся в базе данных? – chooban

+0

нет, я просто хочу редактировать вывод, вставлять изображения в div, которые формируют их с помощью css. – bazinga

+0

Достаточно честный. Моя идея отправки команды MySQL вам тогда не поможет! :) – chooban

ответ

3

Вы не используете разделители регулярных выражений. Попробуйте этот код:

preg_replace('/<img(.*?)>/is', '<div class="bilde"><img$1></div>', $saturs); 

Я добавил i (игнорировать регистр) и s (DOTALL), чтобы сделать ваше регулярное выражение более полезным.

Однако помните, что использование регулярного выражения не всегда является лучшим способом анализа HTML.

+0

он делает то же самое, ничего не выводится, а также нет кода ошибки. – bazinga

+0

Вам нужно использовать возвращаемое значение 'preg_replace'. – anubhava

+0

См. Это ** [рабочая демонстрация] (http://ideone.com/V5PrBl) ** – anubhava