search for in the  
<strrposstrstr>
Last updated: Thu, 19 May 2005

strspn

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

strspn --  Find length of initial segment matching mask

Description

int strspn ( string str1, string str2 [, int start [, int length]] )

Returns the length of the initial segment of str1 which consists entirely of characters in str2.

The line of code:

<?php
$var
= strspn("42 is the answer, what is the question ...", "1234567890");
?>

will assign 2 to $var, because the string "42" will be the longest segment containing characters from "1234567890".

As of PHP 4.3.0, strspn() accepts two optional integer parameters that can be used to define the start position and the length of the string to examine.

<?php
echo strspn("foo", "o", 1, 2); // 2
?>

Note: This function is binary-safe.

See also strcspn().



User Contributed Notes
strspn
17-Jun-2004 04:35
Yes, it's a possibility. However, i think, it's better like that :

<?php
function valid($str, $validlength=10, $validmask="abcdefghijklmnopqrstuvwxyz0123456789_-")
{
$str=strtolower($str);
if (
strspn($str, $validmask) == strlen($str) && strlen($str)<=$validlength)
return
true;
return
false;
}
?>

Sorry for my english, i'm french.
ronq dot NOSPAM at arnet dot com dot ar
12-Feb-2004 11:13
You can validate a text with this function, restricting the allowed characters of the input, I use it to avoid malicious or wrong form submissions. This is a first issue on security, to be sure that the data you get is safe to work with.

<?php
function valid($str) {

  
$validlength=10;
  
$validmask="abcdefghijklmnopqrstuvwxyz0123456789_-";

  
$str=strtolower($str);
   if (
strspn($str, $validmask) == strlen($str) && $validlength >= strlen($str)) {
       return
true;
   } else {
       return
false;
   }
}
?>

<strrposstrstr>
 Last updated: Thu, 19 May 2005
Copyright © 2001-2005 The PHP Group
All rights reserved.
This unofficial mirror is operated at: The Server Pages
Last updated: Thu May 19 17:35:34 2005 CDT