Как убрать отступы в коде?

Здравствуйте, помогите убрать отступы в коде

<? 





//База анкет
$ba_si_m = mysql_query(
"
SELECT * FROM 
site 
WHERE 
published='1' || 
published='2' || 
published='3'
"
);

$data = array();
while($sitemap = mysql_fetch_array($ba_si_m)) {

  $data[] = '
  <url>
  <loc>'.$site.'/look/'.$sitemap['tag'].'</loc>
  <lastmod>'.date('Y-m-d').'T'.date('h:i:s+01:00').'</lastmod>
  <priority>0.8</priority>
  </url>
  ';
	
}

//Основная шапка карта для сайта
require __DIR__ . '/HeadBaseSiteMap.php';

$BaseConstructionSiteMap = implode("", $data);

$BaseSiteMap = "
$HeadBaseSiteMap
$BaseConstructionSiteMap
</urlset>
";

$BaseSiteMap = trim($BaseSiteMap);



?>


Я нашла типо такого trim() но он работает частично, убирает в начале и в конце отступы, а в глубь не работает.

Получается такая картина [скриншот]
6706e375d065b147701846.png
  • Вопрос задан
  • 178 просмотров
Решения вопроса 3
@galaxy
Не вставлять их?

$data[] = '
<url>
<loc>'.$site.'/look/'.$sitemap['tag'].'</loc>
<lastmod>'.date('Y-m-d').'T'.date('h:i:s+01:00').'</lastmod>
<priority>0.8</priority>
</url>
';


Если не нравится, что код стал выглядеть не шибко красиво:
$data[] = "\n<url>\n<loc>"
  .$site."/look/".$sitemap['tag']."</loc>\n"
  ."<lastmod>".date('Y-m-d').'T'.date('h:i:s+01:00')."</lastmod>\n"
  ."<priority>0.8</priority>\n"
  ."</url>\n";
Ответ написан
Комментировать
vhood
@vhood
Не забывайте отмечать решения
$BaseSiteMap = preg_replace('/\s{2,}/m', '', $BaseSiteMap);

В песочнице
Ответ написан
Комментировать
два варианта:
1)_ просто всё прижать влево:
<?php
$chunk = '
  <url>
  <loc>'.$site.'/look/'.$sitemap['tag'].'</loc>
  <lastmod>'.date('Y-m-d').'T'.date('h:i:s+01:00').'</lastmod>
  <priority>0.8</priority>
  </url>
  ';
$data[] = preg_replace('/^\s+</m', '<', trim($chunk));


2) вытянуть всё в строку:
<?php
$data[] = preg_replace('/>\s+</ms', '><', trim($chunk));

Эти регулярки только для данного случая! ( потому что никаких значимых пробелов в сайтмапе быть не должно)

Несколько замечаний:
1) показывать код скриншотом неэтично (я про готовый сайтмап). Здесь его можно было запихнуть в тег code (кнопка в панельке) с типом XML
2) если не используете числовые индексы, то вместо mysql_fetch_array() берите mysql_fetch_assoc()
3) mysql_* функции - древность, используйте хотя бы mysqli ( как объект, конечно же)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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