Задать вопрос
@Prihod

Как с помощью регулярного выражения удалить пробелы перед и после слешев?

Есть строка `&tpl = @FILE root / resources / mychank.tpl` в корой нужно удалит пробелы перед и после / с учетом того, что / должы находится в внутри `` которое содержит @FILE
в итоге на выходе должно быть так
`&tpl = @FILE root/resources/mychank.tpl`
  • Вопрос задан
  • 60 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Fernus
@Fernus
Техник - Механик :)
<?php

$str = '`&tpl = @FILE root / resources / mychank.tpl`';

// Вариант 1 (самый банальный)

$res_str = str_replace(' / ', '/', $str);

print_r($res_str);

// Вариант 2 (импровизация)

$res_str = implode('/', array_map('trim', explode('/', $str)));

print_r($res_str);

// Вариант 3 ( регулярка:) )

$res_str = preg_replace('#\s+/\s+#isu', '/', $str);

print_r($res_str);


UPD:
Щас сижу читаю вот это:
Есть строка `&tpl = @FILE root / resources / mychank.tpl` в корой нужно удалит пробелы перед и после / с учетом того, что / должы находится в внутри `` которое содержит @FILE

К чему это условие (выделенное жирным), если изначально у тебя это и есть вся строка, исходя из:
Есть строка `&tpl = @FILE root / resources / mychank.tpl`


Т.е. получается эта "строка" может находится среди других данных? Или как? Ну т.е., например:
абракадабра / сым-салабым / чудо-юдо `&tpl = @FILE root / resources / mychank.tpl` / тырым-пырым / хали-гали


UPD2:
<?php

$str = 'абракадабра / `&tpl = @NOFILE root / resources / mychank.tpl` /сым-салабым / чудо-юдо `&tpl = @FILE root / resources / mychank.tpl` / тырым-пырым / хали-гали';

function trimSlashes($str) {
    
    // Тут любой из вариантов, которые выше...в данном случае "взяли" третий, чтобы было всё на "регулярках" :)
    return preg_replace('#\s+/\s+#isu', '/', $str[0]);
}

$res_str = preg_replace_callback('#`[^`]+@FILE[^`]+`#isu', 'trimSlashes', $str);

print_r($res_str);


Результат:

абракадабра / `&tpl = @NOFILE root / resources / mychank.tpl` /сым-салабым / чудо-юдо `&tpl = @FILE root/resources/mychank.tpl` / тырым-пырым / хали-гали

P.S.: Правильно составленный вопрос - половина ответа...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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