5c10365be29da4d9e68271d5a2e6c7fca7084800
[GitHub/WoltLab/WCF.git] /
1 <?php
2
3 /**
4 * @see https://github.com/laminas/laminas-stdlib for the canonical source repository
5 * @copyright https://github.com/laminas/laminas-stdlib/blob/master/COPYRIGHT.md
6 * @license https://github.com/laminas/laminas-stdlib/blob/master/LICENSE.md New BSD License
7 */
8
9 namespace Laminas\Stdlib\StringWrapper;
10
11 interface StringWrapperInterface
12 {
13 /**
14 * Check if the given character encoding is supported by this wrapper
15 * and the character encoding to convert to is also supported.
16 *
17 * @param string $encoding
18 * @param string|null $convertEncoding
19 */
20 public static function isSupported($encoding, $convertEncoding = null);
21
22 /**
23 * Get a list of supported character encodings
24 *
25 * @return string[]
26 */
27 public static function getSupportedEncodings();
28
29 /**
30 * Set character encoding working with and convert to
31 *
32 * @param string $encoding The character encoding to work with
33 * @param string|null $convertEncoding The character encoding to convert to
34 * @return StringWrapperInterface
35 */
36 public function setEncoding($encoding, $convertEncoding = null);
37
38 /**
39 * Get the defined character encoding to work with (upper case)
40 *
41 * @return string
42 */
43 public function getEncoding();
44
45 /**
46 * Get the defined character encoding to convert to (upper case)
47 *
48 * @return string|null
49 */
50 public function getConvertEncoding();
51
52 /**
53 * Returns the length of the given string
54 *
55 * @param string $str
56 * @return int|false
57 */
58 public function strlen($str);
59
60 /**
61 * Returns the portion of string specified by the start and length parameters
62 *
63 * @param string $str
64 * @param int $offset
65 * @param int|null $length
66 * @return string|false
67 */
68 public function substr($str, $offset = 0, $length = null);
69
70 /**
71 * Find the position of the first occurrence of a substring in a string
72 *
73 * @param string $haystack
74 * @param string $needle
75 * @param int $offset
76 * @return int|false
77 */
78 public function strpos($haystack, $needle, $offset = 0);
79
80 /**
81 * Convert a string from defined encoding to the defined convert encoding
82 *
83 * @param string $str
84 * @param bool $reverse
85 * @return string|false
86 */
87 public function convert($str, $reverse = false);
88
89 /**
90 * Wraps a string to a given number of characters
91 *
92 * @param string $str
93 * @param int $width
94 * @param string $break
95 * @param bool $cut
96 * @return string
97 */
98 public function wordWrap($str, $width = 75, $break = "\n", $cut = false);
99
100 /**
101 * Pad a string to a certain length with another string
102 *
103 * @param string $input
104 * @param int $padLength
105 * @param string $padString
106 * @param int $padType
107 * @return string
108 */
109 public function strPad($input, $padLength, $padString = ' ', $padType = STR_PAD_RIGHT);
110 }