Source for file strcspn.php

Documentation is available at strcspn.php

  1. <?php
  2. /**
  3. @version $Id: strcspn.php,v 1.1 2007/09/09 20:39:49 pitlinz Exp $
  4. @package utf8
  5. @subpackage strings
  6. */
  7.  
  8. //---------------------------------------------------------------
  9. /**
  10. * UTF-8 aware alternative to strcspn
  11. * Find length of initial segment not matching mask
  12. * Note: requires utf8_strlen and utf8_substr (if start, length are used)
  13. @param string 
  14. @return int 
  15. @see http://www.php.net/strcspn
  16. @see utf8_strlen
  17. @package utf8
  18. @subpackage strings
  19. */
  20. function utf8_strcspn($str$mask$start NULL$length NULL{
  21.     
  22.     if empty($mask|| strlen($mask== {
  23.         return NULL;
  24.     }
  25.     
  26.     $mask preg_replace('!([\\\\\\-\\]\\[/^])!','\\\${1}',$mask);
  27.     
  28.     if $start !== NULL || $length !== NULL {
  29.         $str utf8_substr($str$start$length);
  30.     }
  31.         
  32.     preg_match('/^[^'.$mask.']+/u',$str$matches);
  33.     
  34.     if isset($matches[0]) ) {
  35.         return utf8_strlen($matches[0]);
  36.     }
  37.     
  38.     return 0;
  39.     
  40. }

Documentation generated on Thu, 08 Jan 2009 17:48:36 +0100 by phpDocumentor 1.4.0a2