Platton
@Platton

Удаление пустых строк шаблона?

Здравствуйте. Скажите кто знает как средствами php в содержимом html - странице убрать пустые строки?
Например есть такая html - страница при просмотре кода в браузере:
<html>
<head>
	<title>Станица</title>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>

<body>
<div class="main">

<div class="mod">
<ul>
	
	<li>
		<img src="/img/static.png">
		<a href="index.php?mod=static">
		<h3>Статические страницы</h3>
		</a>
	</li>
	
	
	
	<li>
		<img src="img/profile.png">
		<a href="index.php?mod=profile">
		<h3>Профиль пользователя</h3>
		</a>
	</li>
	
	
	<li>
		<img src="/img/post.png">
		<a href="index.php?mod=post">
		<h3>Отправка сообщений</h3>
		</a>
	</li>
	
	

</ul>
</div>


</div>
</body>
</html>


Нужно сделать чтобы она выглядела так:
<html>
<head>
	<title>Станица</title>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<div class="main">
<div class="mod">
<ul>
	<li>
		<img src="/img/static.png">
		<a href="index.php?mod=static">
		<h3>Статические страницы</h3>
		</a>
	</li>
	<li>
		<img src="img/profile.png">
		<a href="index.php?mod=profile">
		<h3>Профиль пользователя</h3>
		</a>
	</li>
	<li>
		<img src="/img/post.png">
		<a href="index.php?mod=post">
		<h3>Отправка сообщений</h3>
		</a>
	</li>
</ul>
</div>
</div>
</body>
</html>


Я питался решить эту задачу так:
//Загрузка  html - страницы в строковую переменную
$template = file_get_contents($tpl_name);
// Удаление пустых строк в html
$template = str_replace(array("\n"), "", $template);

Но что то не работает
  • Вопрос задан
  • 829 просмотров
Пригласить эксперта
Ответы на вопрос 2
Stalker_RED
@Stalker_RED
Есть два варианта
$template = str_replace("\n\n", '', $template); // убираем все _двойные_ переводы строк, оставляя одинарные
$template = str_replace("\n\n", '', $template); // и еще раз, на случай, если их было нечетное кол-во

и второй, на этапе чтения файла
$trimmed = file('template', FILE_SKIP_EMPTY_LINES);
или даже 
$trimmed = file('template', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

// и склеиваем массив в строку
$template = implode(PHP_EOL, $trimmed);
Ответ написан
Platton
@Platton Автор вопроса
Если б была такая возможность чтобы место пустого значения примере замены в стоках поставить что то на подобии Backspace:
$template = str_replace("tag", Backspace, $template);
Тогда пустые строки не возникали, и вопрос можно б было закрыть.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы