Thanks for all the input. My solution ended up somewhat different,
but in the same vein.
Another script handed off the data based on a regex trigger, therefore
I knew if this was invoked, it had to be a valid ISBN number, so no
need to actually test if it matched since I know it does. If the
query started with "ISBN" or "ISBN:", regardless of the number the
total length would be 13, which is the longest the input could be
and be a valid ISBN, so I used:
if (strlen($bookISBN) 13)
{
$bookISBN = preg_replace('/(\w+)(:)? (\d=)/', '$3', $bookISBN);
}
So far, so good. Everything works just as it should now.
On Mar 16, 1:15 pm, Sjoerd <sjoerd-n...@linuxonly.nlwrote:
fie...@gmail.com wrote:
if (preg_match("isbn:?%20", $value))
...
Doesn't seem to work though. Any thoughts?
- The pattern of preg_match needs delimiters. Mostly slashes are used
for this: /pattern/
- Each statement should be ended with a semicolon;
- Note that PHP automatically URL-decodes the GET parameters, so %20 in
the URL will become a space in the GET variable.
- You can use the matches parameter to retrieve the ISBN number.
- When asking a question here, "doesn't seem to work" is not good
enough. Insert echo statements to see whether the preg_match actually
matches and report any error you get in your post.
if (preg_match("/isbn:? ([0-9X]*)/", $value, $match))
{
$isbn = $match[1];}
else
{
$isbn = $value;
}
Sjoerd