Teken verwijderen in php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
$uploaddir = './';
$uploadfile = $uploaddir . basename($_FILES['bestandnaam']['name']);
$patroon1 = ';';
$vervanging1 = ',';
$patroon2 = '070-342';
$vervanging2 = '';
$patroon3 = ', ';
$vervanging3 = ',';
$patroon4 = '06-';
$vervanging4 = '006';
// hoe kan ik in patroon5 het min teken verwijderen?
$patroon5 = '[0-9]{3,4}-';
$vervanging5 = '0\\0';
if (move_uploaded_file($_FILES['bestandnaam']['tmp_name'], $uploadfile))
{
$bestand = file($uploadfile);
foreach($bestand as $regel)
{
echo "<pre>";
echo $regel;
echo "<BR>";
$regel = eregi_replace($patroon1, $vervanging1, $regel);
$regel = eregi_replace($patroon2, $vervanging2, $regel);
$regel = eregi_replace($patroon3, $vervanging3, $regel);
$regel = eregi_replace($patroon4, $vervanging4, $regel);
$regel = eregi_replace($patroon5, $vervanging5, $regel);
echo $regel;
echo "<BR>";
echo "</pre>";
}
}
else
{
echo "Probleempje";
}
?>
$uploaddir = './';
$uploadfile = $uploaddir . basename($_FILES['bestandnaam']['name']);
$patroon1 = ';';
$vervanging1 = ',';
$patroon2 = '070-342';
$vervanging2 = '';
$patroon3 = ', ';
$vervanging3 = ',';
$patroon4 = '06-';
$vervanging4 = '006';
// hoe kan ik in patroon5 het min teken verwijderen?
$patroon5 = '[0-9]{3,4}-';
$vervanging5 = '0\\0';
if (move_uploaded_file($_FILES['bestandnaam']['tmp_name'], $uploadfile))
{
$bestand = file($uploadfile);
foreach($bestand as $regel)
{
echo "<pre>";
echo $regel;
echo "<BR>";
$regel = eregi_replace($patroon1, $vervanging1, $regel);
$regel = eregi_replace($patroon2, $vervanging2, $regel);
$regel = eregi_replace($patroon3, $vervanging3, $regel);
$regel = eregi_replace($patroon4, $vervanging4, $regel);
$regel = eregi_replace($patroon5, $vervanging5, $regel);
echo $regel;
echo "<BR>";
echo "</pre>";
}
}
else
{
echo "Probleempje";
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Olaf
Volgens mij kun je die - gewoon uit de string backspacen?
Ik heb het opgelost door preg_replace te gebruiken. Achteraf vond ik het makkelijker om daar de patronen in te maken en belangrijker, de vervanging te doen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
// uit de regel moet 030-2000000 veranderd worden in 00302000000
$regel = "EXXXX;X.X.H.A.;dXX; ; ;XX;XXXXX/P-XXX;XX 2.00;070-3000000;030-2000000";
$patroon5 = '/(\d{3,4})(-)(\d{4,7})/i';
$vervanging5 = '0${1}${3}';
$regel = preg_replace($patroon5, $vervanging5, $regel);
?>
// uit de regel moet 030-2000000 veranderd worden in 00302000000
$regel = "EXXXX;X.X.H.A.;dXX; ; ;XX;XXXXX/P-XXX;XX 2.00;070-3000000;030-2000000";
$patroon5 = '/(\d{3,4})(-)(\d{4,7})/i';
$vervanging5 = '0${1}${3}';
$regel = preg_replace($patroon5, $vervanging5, $regel);
?>
Zo werkt het script wel.
Olaf.