2016-12-28 6 views
0

Я работаю над сайтом Wordpress, и я не хочу, чтобы изображения отображались в выдержке.preg_replace - заменить все между цифрами

Это было довольно легко с:

preg_replace('/<img[^>]+./','', $content); 

удалить изображения, но поскольку изображения завернуты в <figure> метки с заголовком, я попытался изменить шаблон для

/(<figure.*?[^>]*>)(.*?)(<\/figure)/i 

Но ничего не происходит. Что я делаю не так?

+0

почему Дон» t вы просто используете the_excerpt(); функция, которая отображает только текст содержимого, фильтруя изображения и ссылки. –

+0

, потому что это просто закончится за 2 часа больше работы вместо 6 часов исследований и 10 минут работы;) –

ответ

1

Вы упускаете > в конце

чек здесь phpliveregex

preg_replace("/(<figure.*?[^>]*>)(.*?)(<\/figure>)/i", "", $input); 
+0

как-то все равно ничего не делает ... –

+0

Я также играл в regex101 с '

'который работает там, но не на моем сайте. Это может быть что-то вроде Wordpress? –

+0

Вы можете использовать это как 'preg_replace ("/(] *>) (. *?) (<\/figure>)/i "," deleted ", $ input_lines);' –

0

Снимите .*?, также не вы не использует групп захвата:

~$result = preg_replace("~<figure[^>]*>.*?</figure>~i", "", $input); 
Смежные вопросы