Jeg tænker:
<?php
define('ASIS', 1);
define('REPLACE', 2);
define('SKIP', 3);
function dump($navn, $vej, $by, $strategy = ASIS, $replacement = '') {
switch($strategy) {
case ASIS:
echo "$navn,$vej,$by\r\n";
break;
case REPLACE:
if(empty($navn)) $navn = $replacement;
if(empty($vej)) $vej = $replacement;
if(empty($by)) $by = $replacement;
echo "$navn,$vej,$by\r\n";
break;
case SKIP:
$line = '';
if(strlen($line) > 0 && !empty($navn)) $line = $line . ',';
$line = $line . $navn;
if(strlen($line) > 0 && !empty($vej)) $line = $line . ',';
$line = $line . $vej;
if(strlen($line) > 0 && !empty($by)) $line = $line . ',';
$line = $line . $by;
echo "$line\r\n";
break;
}
}
echo "ASIS:\r\n";
dump('navn','vej','by');
dump('navn','vej','');
dump('navn','','by');
dump('','vej','by');
dump('navn','','');
dump('','vej','');
dump('','','by');
echo "REPLACE:\r\n";
dump('navn', 'vej', 'by', REPLACE, '?');
dump('navn', 'vej', '', REPLACE, '?');
dump('navn', '', 'by', REPLACE, '?');
dump('', 'vej', 'by', REPLACE, '?');
dump('navn','','', REPLACE, '?');
dump('','vej','', REPLACE, '?');
dump('','','by', REPLACE, '?');
echo "SKIP:\r\n";
dump('navn', 'vej', 'by', SKIP);
dump('navn', 'vej', '', SKIP);
dump('navn', '', 'by', SKIP);
dump('', 'vej', 'by', SKIP);
dump('navn','','', SKIP);
dump('','vej','', SKIP);
dump('','','by', SKIP);
?>
ASIS:
navn,vej,by
navn,vej,
navn,,by
,vej,by
navn,,
,vej,
,,by
REPLACE:
navn,vej,by
navn,vej,?
navn,?,by
?,vej,by
navn,?,?
?,vej,?
?,?,by
SKIP:
navn,vej,by
navn,vej
navn,by
vej,by
navn
vej
by