webbmannen skrev:
Hur löser man detta? Kan någon sedan förklara delarna ^ och $ för mig så blir det bonus för det.
^ först i uttrycket betyder att uttrycket börjar här.
$ betyder att uttrycket slutar här.
Exempel /^anna$/ matchar bara anna medan /anna$/ även matchar panna, skanna, .... och /anna/ även matchar annat, skannade, et c....
Jag hade löst ditt problem med två matchningar
if ($_POST['company']== '' ||
!preg_match('/^[a-zåäö \' ]{3,}$/i', $_POST['company'] ||
preg_match('/[ ]{2,}/i', $_POST['company'] )
Dvs tillåt mellanslag men kolla att man inte har fler än en i följd någonstans i uttrycket med nytt preg_match.
Alternativt, om du bara vill stoppa endast mellanslag men inte har något att invända mot
"a<5 mellanslag>b" så kan du göra så här:
$_POST['company'] = trim($_POST['company']);
if ($_POST['company']== '' ||
!preg_match('/^[a-zåäö \' ]{3,}$/i', $_POST['company'])
trim tar bort whitespace (blanka, tab och dylikt) först och sist i uttrycket.