reg exp: ' toestaan
El Grimbo
14/01/2009 14:58:00Hi
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
PHP hulp
25/12/2024 21:50:13Joren de Wit
14/01/2009 15:21:00Waarom escape je de '? Zo werkt het gewoon:
Han eev
14/01/2009 15:28:00Code (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
El Grimbo
14/01/2009 15:56:00@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.