Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F1433068
Orthography.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
4 KB
Referenced Files
None
Subscribers
None
Orthography.php
View Options
<?php
/**
* PHPCSUtils, utility functions and classes for PHP_CodeSniffer sniff developers.
*
* @package PHPCSUtils
* @copyright 2019-2020 PHPCSUtils Contributors
* @license https://opensource.org/licenses/LGPL-3.0 LGPL3
* @link https://github.com/PHPCSStandards/PHPCSUtils
*/
namespace
PHPCSUtils\Utils
;
use
PHPCSUtils\BackCompat\Helper
;
/**
* Utility functions for checking the orthography of arbitrary text strings.
*
* > An orthography is a set of conventions for writing a language. It includes norms of spelling,
* > hyphenation, capitalization, word breaks, emphasis, and punctuation.
* > Source: https://en.wikipedia.org/wiki/Orthography
*
* @since 1.0.0
*/
final
class
Orthography
{
/**
* Characters which are considered terminal points for a sentence.
*
* @link https://www.thepunctuationguide.com/terminal-points.html Punctuation guide on terminal points.
*
* @since 1.0.0
*
* @var string
*/
const
TERMINAL_POINTS
=
'.?!'
;
/**
* Check if the first character of an arbitrary text string is a capital letter.
*
* Letter characters which do not have a concept of lower/uppercase will
* be accepted as correctly capitalized.
*
* @since 1.0.0
*
* @param string $textString The text string to examine.
* This can be the contents of a text string token,
* but also, for instance, a comment text.
* Potential text delimiter quotes should be stripped
* off a text string before passing it to this method.
* Also see: {@see \PHPCSUtils\Utils\TextStrings::stripQuotes()}.
*
* @return bool `TRUE` when the first character is a capital letter or a letter
* which doesn't have a concept of capitalization.
* `FALSE` otherwise, including for non-letter characters.
*/
public
static
function
isFirstCharCapitalized
(
$textString
)
{
$textString
=
\ltrim
(
$textString
);
return
(
\preg_match
(
'`^[
\p
{Lu}
\p
{Lt}
\p
{Lo}]`u'
,
$textString
)
>
0
);
}
/**
* Check if the first character of an arbitrary text string is a lowercase letter.
*
* @since 1.0.0
*
* @param string $textString The text string to examine.
* This can be the contents of a text string token,
* but also, for instance, a comment text.
* Potential text delimiter quotes should be stripped
* off a text string before passing it to this method.
* Also see: {@see \PHPCSUtils\Utils\TextStrings::stripQuotes()}.
*
* @return bool `TRUE` when the first character is a lowercase letter.
* `FALSE` otherwise, including for letters which don't have a concept of
* capitalization and for non-letter characters.
*/
public
static
function
isFirstCharLowercase
(
$textString
)
{
$textString
=
\ltrim
(
$textString
);
return
(
\preg_match
(
'`^
\p
{Ll}`u'
,
$textString
)
>
0
);
}
/**
* Check if the last character of an arbitrary text string is a valid punctuation character.
*
* @since 1.0.0
*
* @param string $textString The text string to examine.
* This can be the contents of a text string token,
* but also, for instance, a comment text.
* Potential text delimiter quotes should be stripped
* off a text string before passing it to this method.
* Also see: {@see \PHPCSUtils\Utils\TextStrings::stripQuotes()}.
* @param string $allowedChars Characters which are considered valid punctuation
* to end the text string.
* Defaults to `'.?!'`, i.e. a full stop, question mark
* or exclamation mark.
*
* @return bool
*/
public
static
function
isLastCharPunctuation
(
$textString
,
$allowedChars
=
self
::
TERMINAL_POINTS
)
{
$encoding
=
Helper
::
getEncoding
();
$textString
=
\rtrim
(
$textString
);
if
(
\function_exists
(
'iconv_substr'
)
===
true
)
{
$lastChar
=
\iconv_substr
(
$textString
,
-
1
,
1
,
$encoding
);
}
else
{
$lastChar
=
\substr
(
$textString
,
-
1
);
}
if
(
\function_exists
(
'iconv_strpos'
)
===
true
)
{
return
(
\iconv_strpos
(
$allowedChars
,
$lastChar
,
0
,
$encoding
)
!==
false
);
}
else
{
return
(
\strpos
(
$allowedChars
,
$lastChar
)
!==
false
);
}
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, May 16, 22:37 (1 h, 51 m)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
e0/7f/f5fc51ee707dc0a765ec485d9e07
Default Alt Text
Orthography.php (4 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment