$string = '45N654345W124R3546M';
echo preg_replace('/(\w{2})(\w{2})(\w{2})(\w{4})(\w{4})(\w{4})((\w{1})?)/','$1-$2-$3-$4-$5-$6+$7',$string);
Результат Хорошо: 45-N6-54-345W-124R-3546 + Mpreg_replace не заменит именно в PHP
$string = '45N654345W124R3546';
echo preg_replace('/(\w{2})(\w{2})(\w{2})(\w{4})(\w{4})(\w{4})((\w{1})?)/','$1-$2-$3-$4-$5-$6+$7',$string);
Результат Плохо: 45-N6-54-345W-124R- 3546+ Мне нужно возвращение 45-N6-54-345W-124R-3546 без + Что я могу сделать? realmente hablo español XD pero el ingles igual lo entiendo.! там любой способ проверить результат, скажем, $ 7 приносит информацию, чтобы добавить к результату + $ 7, если вы приходите пустым, ничего не добавляйте.