Мне пришла в голову необходимость использовать str_replace() для замены всех дефисов в строке пробелами. Достаточно просто:PHP str_replace() - Заменить альтернативным пространством?
$string = "Some-test-string";
$string = str_replace('-', ' ', $string);
Дело в том, используя ' '
(строка с пустым пространством) в «замены» части str_replace()
просто чувствует себя так грязно. Также кажется хрупким ... Выглядит тоже уродливо.
Нет ли лучшего варианта? Я попытался использовать шаблон регулярного выражения в разделе «замена», но это не сработало, оно получилось буквальным.
В идеале, что-то, как это было бы здорово, если это возможно:
$string = "Some-test-string";
$string = str_replace('-', '/\s/', $string);
Спасибо!
Отредактировано: Заменено на все вызовы preg_replace() с str_replace() на предложение.
Вы можете использовать шестнадцатиричное значение для пространства: '' 'preg_replace ("/ [-] + /", "\ x20", $ строка);' '', но я не знаю, если это делает его более чистым –
Вам будет лучше с str_replace для этого. Я бы не стал беспокоиться о том, что он выглядит хрупким или уродливым, пока он работает, и его легко понять. Я бы использовал «вместо». –
Абдулла Бахш - Это заменяет буквальным \ x20 .. Я должен уточнить, что хочу пространство в строке ... просто пытаюсь найти альтернативный способ представить замену в вызове preg_match(). – mbbentz