/** * UTF-8 aware alternative to strcspn * Find length of initial segment not matching mask * * @param string $str The string to process * @param string $mask The mask * @param integer $start Optional starting character position (in characters) * @param integer $length Optional length * * @return integer The length of the initial segment of str1 which does not contain any of the characters in str2 * * @see http://www.php.net/strcspn * @since 11.1 */ public static function strcspn($str, $mask, $start = null, $length = null) { jimport('phputf8.strcspn'); if ($start === false && $length === false) { return utf8_strcspn($str, $mask); } elseif ($length === false) { return utf8_strcspn($str, $mask, $start); } else { return utf8_strcspn($str, $mask, $start, $length); } }
/** * UTF-8 aware alternative to strcspn * Find length of initial segment not matching mask * * @static * @access public * @param string * @param string the mask * @param int Optional starting character position (in characters) * @param int Optional length * @return int the length of the initial segment of str1 which does not contain any of the characters in str2 * @see http://www.php.net/strcspn */ public static function strcspn($str, $mask, $start = NULL, $length = NULL) { jimport('phputf8.strcspn'); if ($start === FALSE && $length === FALSE) { return utf8_strcspn($str, $mask); } else { if ($length === FALSE) { return utf8_strcspn($str, $mask, $start); } else { return utf8_strcspn($str, $mask, $start, $length); } } }
/** * UTF-8 aware alternative to strcspn * Find length of initial segment not matching mask * * @param string $str The string to process * @param string $mask The mask * @param integer $start Optional starting character position (in characters) * @param integer $length Optional length * * @return integer The length of the initial segment of str1 which does not contain any of the characters in str2 * * @see http://www.php.net/strcspn * @since 2.0 */ public static function strcspn($str, $mask, $start = null, $length = null) { if (!function_exists('utf8_strcspn')) { require_once __DIR__ . '/phputf8/strcspn.php'; } if ($start === null && $length === null) { return utf8_strcspn($str, $mask); } if ($length === null) { return utf8_strcspn($str, $mask, $start); } return utf8_strcspn($str, $mask, $start, $length); }
function testLinefeedMask() { $str = "i\nñtërnâtiônàlizætiøn"; $this->assertEqual(utf8_strcspn($str, "\n"), 1); }
/** * UTF-8 aware alternative to strcspn * Find length of initial segment not matching mask * * @param string $str The string to process * @param string $mask The mask * @param integer $start Optional starting character position (in characters) * @param integer $length Optional length * * @return integer The length of the initial segment of str1 which does not contain any of the characters in str2 * * @see http://www.php.net/strcspn * @since 1.0 */ public static function strcspn($str, $mask, $start = null, $length = null) { require_once __DIR__ . '/phputf8/strcspn.php'; if ($start === false && $length === false) { return utf8_strcspn($str, $mask); } if ($length === false) { return utf8_strcspn($str, $mask, $start); } return utf8_strcspn($str, $mask, $start, $length); }
/** * UTF-8 aware alternative to strcspn() * * Find length of initial segment not matching mask. * * @param string $str The string to process * @param string $mask The mask * @param integer $start Optional starting character position (in characters) * @param integer $length Optional length * * @return integer The length of the initial segment of str1 which does not contain any of the characters in str2 * * @see http://www.php.net/strcspn * @since 1.3.0 */ public static function strcspn($str, $mask, $start = null, $length = null) { if ($start === false && $length === false) { return utf8_strcspn($str, $mask); } if ($length === false) { return utf8_strcspn($str, $mask, $start); } return utf8_strcspn($str, $mask, $start, $length); }