Bowen
@Bowen
Японский бог

Как предотвратить появления пустых строк после использования регулярных выражений?

Добрый день!

Есть регулярное выражение:
$tpl->copy_template = preg_replace ( "#\\[if field=['\"](.+?)['\"] value=['\"](.+?)['\"]\\]([^\[]+)\\[/if\\]#ies", "check('\\1', '\\2', '\\3')", $tpl->copy_template );
В шаблоне пишу так:
[if field="type" value="mp3"]mp3[/if]
[if field="type" value="mp4"]mp4[/if]
Проблема в том, что после выполнения этого регулярного выражения, если значение не совпадает с тем которое я указал в шаблоне, то[if field="type" value="mp4"]mp4[/if] просто обрезается и остается пустая строка.

В кэше записываю весь html код и там остается те пустые строки.
Если записать все в одну строку
[if field="type" value="mp3"]mp3[/if][if field="type" value="mp4"]mp4[/if]
То пустых строк не будет, но это очень не удобно. Сменить шаблонизатор нет достаточно знаний и опыта да и времени мало.

Можно ли решить данную проблему другими способами ?
Буду очень благодарен за советы - помощь!
  • Вопрос задан
  • 136 просмотров
Пригласить эксперта
Ответы на вопрос 1
Machez
@Machez
Бу!
Шаблонизатор правильно работает. Вспомните про невидимый символ перехода на новую строку.

[if field="type" value="mp3"]mp3[/if] {переход на новую строку}
[if field="type" value="mp4"]mp4[/if] {переход на новую строку}


Пишите правила в 1 строку и пустых линий не будет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы