reg exp: ' toestaan
Hi
Onderstaande reguliere expressie geeft geen match door de single quote maar die wil ik wel toestaan. Als ik 'm toevoeg en met een backslash escape krijg ik:
Warning: preg_match() [function.preg-match]: Compilation failed: range out of order in character class at offset 12 in C:\xampp\htdocs\test\phpdesigner_tmp89.php on line 10
hoe moet het wel?
thx I.
Onderstaande reguliere expressie geeft geen match door de single quote maar die wil ik wel toestaan. Als ik 'm toevoeg en met een backslash escape krijg ik:
Warning: preg_match() [function.preg-match]: Compilation failed: range out of order in character class at offset 12 in C:\xampp\htdocs\test\phpdesigner_tmp89.php on line 10
hoe moet het wel?
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$patroon = "/^[a-zA-Z_.-\s]{2,30}$/";
$naam = "kennedy's";
if (preg_match($patroon,$naam)) {
echo "match";
}
else {
echo "geen match";
}
?>
$patroon = "/^[a-zA-Z_.-\s]{2,30}$/";
$naam = "kennedy's";
if (preg_match($patroon,$naam)) {
echo "match";
}
else {
echo "geen match";
}
?>
thx I.
Gewijzigd op 01/01/1970 01:00:00 door El Grimbo
Waarom escape je de '? Zo werkt het gewoon:
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
$patroon = "/^[a-zA-Z_\.\-'\s]{2,30}$/";
$naam = "kennedy's";
if (preg_match($patroon,$naam)) {
echo "match";
}
else {
echo "geen match";
}
// IS match!
?>
$patroon = "/^[a-zA-Z_\.\-'\s]{2,30}$/";
$naam = "kennedy's";
if (preg_match($patroon,$naam)) {
echo "match";
}
else {
echo "geen match";
}
// IS match!
?>
edit: Hoezo te laat :P
Gewijzigd op 01/01/1970 01:00:00 door Han eev
@blanche
dit had ik geprobeerd:
en dat lijkt dus de enige plek :
Warning: preg_match() [function.preg-match]: Compilation failed: range out of order in character class at offset 11 in C:\xampp\htdocs\test\phpdesigner_tmp101.php on line 4
waar de ' niet kan staan, vandaar dat ik dacht dat er escaped moest worden.
maar bedankt! Ook Han.
dit had ik geprobeerd:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?PHP
$patroon = "/^[a-zA-Z_.-'\s]{2,30}$/";
$naam = "kennedy's";
if (preg_match($patroon,$naam)) {
echo "match";
}
else {
echo "geen match";
}
?>
$patroon = "/^[a-zA-Z_.-'\s]{2,30}$/";
$naam = "kennedy's";
if (preg_match($patroon,$naam)) {
echo "match";
}
else {
echo "geen match";
}
?>
en dat lijkt dus de enige plek :
Warning: preg_match() [function.preg-match]: Compilation failed: range out of order in character class at offset 11 in C:\xampp\htdocs\test\phpdesigner_tmp101.php on line 4
waar de ' niet kan staan, vandaar dat ik dacht dat er escaped moest worden.
maar bedankt! Ook Han.




