Как я заменяю вкладки пробелами в переменных в PHP?

Вот реализация mootools 1.2 из кода, предоставленного XMLilley ...

Number.implement('format', function(decPlaces, thouSeparator, decSeparator){
decPlaces = isNaN(decPlaces = Math.abs(decPlaces)) ? 2 : decPlaces;
decSeparator = decSeparator === undefined ? '.' : decSeparator;
thouSeparator = thouSeparator === undefined ? ',' : thouSeparator;

var num = this,
    sign = num < 0 ? '-' : '',
    i = parseInt(num = Math.abs(+num || 0).toFixed(decPlaces)) + '',
    j = (j = i.length) > 3 ? j % 3 : 0;

return sign + (j ? i.substr(0, j) + thouSeparator : '') + i.substr(j).replace(/(\d{3})(?=\d)/g, '$1' + thouSeparator) + (decPlaces ? decSeparator + Math.abs(num - i).toFixed(decPlaces).slice(2) : '');
});
15
задан JakeGould 2 December 2015 в 05:15
поделиться

5 ответов

$data = trim(preg_replace('/\s+/g', '', $data));
15
ответ дан 1 December 2019 в 01:05
поделиться

Обрезать, заменить табуляции и лишние пробелы одиночными пробелами:

$data = preg_replace('/[ ]{2,}|[\t]/', ' ', trim($data));
19
ответ дан 1 December 2019 в 01:05
поделиться

Предполагая, что квадратные скобки не являются частью строки и вы используете их только в иллюстративных целях, тогда:

$new_string = trim(preg_replace('!\s+!', ' ', $old_string));

Вы могли бы сделать это с помощью одного регулярного выражения, но оно будет довольно сложным регулярным выражением. Вышесказанное намного проще.

Примечание: Я также предполагаю, что вы не хотите заменять «AB \ t \ tCD» (\ t - вкладка) на «AB CD».

4
ответ дан 1 December 2019 в 01:05
поделиться
$data = trim($data);

Это избавляет от ваших начальных (и конечных) пробелов.

$pattern = '/\s+/';
$data = preg_replace($pattern, ' ', $data);

Это превращает любую коллекцию из одного или нескольких пробелов в одно пространство.

$data = str_replace("\t", " ", $data);

Это избавляет от ваших табуляций.

1
ответ дан 1 December 2019 в 01:05
поделиться
$new_data = preg_replace("/[\t\s]+/", " ", trim($data));
1
ответ дан 1 December 2019 в 01:05
поделиться
Другие вопросы по тегам:

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