Wat is er fout met deze reguliere expressie?
Code (php)
De error die ik krijg is dit:
Warning: ereg() [function.ereg]: REG_ERANGE in /xxx.php on line 79
Bedankt
Gewijzigd op 01/01/1970 01:00:00 door Hans Vereyken
Dit gaat wel goed:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$string = 'bestands_naam';
if (!preg_match('/^[a-z0-9_-]+$/is', $string))
{
echo "De naam van de afbeelding mag enkel bestaan uit letters, cijfers, en streepjes";
}
else
{
echo 'De naam is OK';
}
?>
$string = 'bestands_naam';
if (!preg_match('/^[a-z0-9_-]+$/is', $string))
{
echo "De naam van de afbeelding mag enkel bestaan uit letters, cijfers, en streepjes";
}
else
{
echo 'De naam is OK';
}
?>
Warning: preg_match() expects parameter 2 to be string, array given in /xxx.php on line 80 ...
Kan het hieraan liggen?:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$string=$_FILES['afbeelding'];
if (!preg_match('/^[a-z0-9_-]+$/is', $string))
{
echo "De naam van de afbeelding mag enkel bestaan uit letters, cijfers, en streepjes";
}
else
{
echo 'De naam is OK';
}?>
$string=$_FILES['afbeelding'];
if (!preg_match('/^[a-z0-9_-]+$/is', $string))
{
echo "De naam van de afbeelding mag enkel bestaan uit letters, cijfers, en streepjes";
}
else
{
echo 'De naam is OK';
}?>
Blijkbaar is $_FILES['afbeelding'] geen string...
In de bestandsnaam zal namelijk minimaal 1 . staan voor de extensie, daar loopt je regex nu op stuk. Dan zou je het zo moeten doen:
Warning: preg_match() [function.preg-match]: Compilation failed: range out of order in character class at offset 11 in /xxx.php on line 84
Dit is de code op de moment:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$hoofdafbeelding_cat_string=$_FILES["hoofdafbeelding_cat"]["name"];
if (!preg_match('/^[a-z0-9_-\.]+$/is', $hoofdafbeelding_cat_string)){
echo "De naam van de afbeelding mag enkel bestaan uit letters, cijfers, en streepjes";
}
?>
$hoofdafbeelding_cat_string=$_FILES["hoofdafbeelding_cat"]["name"];
if (!preg_match('/^[a-z0-9_-\.]+$/is', $hoofdafbeelding_cat_string)){
echo "De naam van de afbeelding mag enkel bestaan uit letters, cijfers, en streepjes";
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Hans Vereyken