mirror of
https://github.com/YunoHost-Apps/dolibarr_ynh.git
synced 2024-09-03 18:35:53 +02:00
84 lines
No EOL
2 KiB
PHP
84 lines
No EOL
2 KiB
PHP
<?php
|
|
namespace Luracast\Restler\Data;
|
|
|
|
/**
|
|
* Convenience class for String manipulation
|
|
*
|
|
* @category Framework
|
|
* @package Restler
|
|
* @author R.Arul Kumaran <arul@luracast.com>
|
|
* @copyright 2010 Luracast
|
|
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
|
|
* @link http://luracast.com/products/restler/
|
|
*/
|
|
class String
|
|
{
|
|
/**
|
|
* Given haystack contains the needle or not?
|
|
*
|
|
* @param string $haystack
|
|
* @param string $needle
|
|
* @param bool $caseSensitive
|
|
*
|
|
* @return bool
|
|
*/
|
|
public static function contains($haystack, $needle, $caseSensitive = true)
|
|
{
|
|
if (empty($needle))
|
|
return true;
|
|
return $caseSensitive
|
|
? strpos($haystack, $needle) !== false
|
|
: stripos($haystack, $needle) !== false;
|
|
}
|
|
|
|
/**
|
|
* Given haystack begins with the needle or not?
|
|
*
|
|
* @param string $haystack
|
|
* @param string $needle
|
|
*
|
|
* @return bool
|
|
*/
|
|
public static function beginsWith($haystack, $needle)
|
|
{
|
|
$length = strlen($needle);
|
|
return (substr($haystack, 0, $length) === $needle);
|
|
}
|
|
|
|
/**
|
|
* Given haystack ends with the needle or not?
|
|
*
|
|
* @param string $haystack
|
|
* @param string $needle
|
|
*
|
|
* @return bool
|
|
*/
|
|
public static function endsWith($haystack, $needle)
|
|
{
|
|
$length = strlen($needle);
|
|
if ($length == 0) {
|
|
return true;
|
|
}
|
|
return (substr($haystack, -$length) === $needle);
|
|
}
|
|
|
|
|
|
/**
|
|
* Convert camelCased or underscored string in to a title
|
|
*
|
|
* @param string $name
|
|
*
|
|
* @return string
|
|
*/
|
|
public static function title($name)
|
|
{
|
|
return
|
|
ucwords(
|
|
preg_replace(
|
|
array('/(?<=[^A-Z])([A-Z])/', '/(?<=[^0-9])([0-9])/', '/(_)/'),
|
|
array(' $0', ' $0', ' '),
|
|
$name
|
|
)
|
|
);
|
|
}
|
|
}
|