Как заменить все пробелы только между двумя символами?
Есть строка: « текст текст | текст текст текст | текст текст ».
Как заменить все пробелы ТОЛЬКО между символами «|»?
Т.е. должно получится: « текст текст |тексттексттекст| текст текст ».
Скорей всего одними только регулярными выражениями это не решить (но не факт). Но если на PHP, то можно регулярками вытащить текст между | и |, а потом str_replace() удалит пробелы:
spoiler
$str = ' текст текст | текст текст текст | текст текст ';
$str = preg_replace_callback(
'~\|\K[^\|]+(?=\|)~',
function($m){
return str_replace(' ', '', $m[0]);
},
$str
);
var_dump($str);