Регулярка для поиска и замены знака

Рейтинг: 0Ответов: 1Опубликовано: 08.06.2023

Амперсанд встречается отбитый пробелами бла-бла & бла и в словах бла&, бла&бла, &бла. В самом первом случае нужно его менять на et, а в остальных случаях на & Я нашла ресурс, где можно тестить эти самые регулярки, но нифига не получается. Пробовала вот так \s&\s, но съедаются пробелы (в первом случае), а для остальных вообще не работает :( Мне для preg_replace('/регулярка/', '&', $text) и так далее.

Ответы

▲ 0Принят

Я бы сделал так (обратите внимание на пробелы в строках, на которые заменяется выражение): preg_replace(['/\s&\s/', '/([^\s])&\s/', '/([^\s])&([^\s])/', '/\s&([^\s])/'], [' et ', '$1& ', '$1&$2', ' &$1'], $text)