Regex заменить пробел в строке - PullRequest
1 голос
/ 15 июня 2011

Я возиться с парсером LESS PHP, чтобы он заменил 4-х цветные шестнадцатеричные коды, найденные в фильтрах IE. Что я хочу сделать, так это заменить такие вещи: #ff7755 33 на #ff775533 т.е. удалить все пробелы в нем. Очевидно, что символы могут отличаться, поскольку они являются цветовыми кодами. Я нашел этот вопрос , который очень близок к тому, что я хочу.

Прямо сейчас у меня есть это регулярное выражение, которое находит строку просто отлично:

(#([0-9a-f]){6}\s[0-9a-f]{2})

Все, что мне сейчас нужно, это регулярное выражение для ввода аргумента замены preg_replace().

Ответы [ 2 ]

7 голосов
/ 15 июня 2011
preg_replace('/(#[0-9a-f]{6}) ([0-9a-f]{2})/i','$1$2',$yourSource);
2 голосов
/ 15 июня 2011

Первый пример в руководстве по PHP кажется именно тем, что вы пытаетесь сделать:

<?php
$string = 'April 15, 2003';
$pattern = '/(\w+) (\d+), (\d+)/i';
$replacement = '${1}1,$3';
echo preg_replace($pattern, $replacement, $string);
?>

Конечно, для вас это:

<?php
$string = '#ff7755 33';
$pattern = '/(#[0-9a-f]{6})\s([0-9a-f]{2})/i';
$replacement = '${1}$2';
echo preg_replace($pattern, $replacement, $string);
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...