Re: I lied, another question / problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Beauford wrote:
>  
...

>>> function invalidchar($strvalue)
>>> {
>>> 	if(!ereg("^[[:alpha:][:space:]\'-.]*$", $strvalue)) {


>> That regexp matches if $strvalue consists of zero or more 
>> ocurrences of a letter, a whitespace character, and any 
>> character whose numeric value lies between the numeric values 
>> of "'" and "." in your locale.
>> Zero or more means it also matches an empty string.
>>
>>

..


> 
> Further to my previous email, there is something weird going on here. I just
> tried using this:
> 
> 	if (!ereg('^[A-Za-z0-9]', $strvalue)) {
> 		 return "error";
> 	}

stop using bleeding ereg*() function - move to preg_*() funcs like the rest of
the world did 5+ years ago.

> 
> When I enter the word Test, which is valid, I am still getting an error

'Test' is not valid according to the regexp your using.

<?php

$strs = array("Test", "Jochem", "@##^%", "", "Test1", "Test!", "J*nk");

// match a non-empty string containing *only* alpha numeric chars
foreach ($strs as $s) {
	if (!preg_match("#^[A-Z0-9]+\$#i", $s)) {
		echo "error in string: \"$s\" \n";
	} else {
		echo "no problemo: \"$s\" \n";
	}
}

?>

(ps the above is a crappy regexp for real world use imho, but it serves
the purpose of example)

you need to read up and do lots of practicing with regexps - we do realise that
regexps are not easy, unfortunately there is no shortcut to learning how to use them.
I doubt many on this list could be considered expert in the field of regexps, but
you have to get yourself a basic grasp or these things will bite you in the ass until
the cows come home.

start here:

http://php.net/pcre
http://php.net/manual/en/reference.pcre.pattern.modifiers.php
http://php.net/manual/en/reference.pcre.pattern.syntax.php

> returned - but only on this one page. So there has got to be something on
> this page that is screwing this up, but what. I have been over and over this
> and can't see a problem.
> 
> I could really use another pair of eyes on this as it is driving me nuts. I

regexps drives everyone nuts to start with. first there is only the mountain, then the
mountain is not a mountain, finally there is just mountain.

> am now into hour 6 with this. Absolutely ridiculous.

thats nothing. most people take months to get anywhere useful with regexps,
well okay I'm speaking for myself - I was in your position somewhere back in 2001,
I was regularly sweating it for weeks trying to understand and getting certain regexps
work 'properly'.

don't give up.

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux