trim()
Removes specified characters from the beginning and end of a string.
Table of contents
- Signature
- Parameters
- Returns
- Description
- Examples
- Use Cases
- Comparison with PHP trim()
- Related Methods
Signature
public static function trim(string $string, string $characters = " \t\n\r\0\x0B"): string
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
$string |
string |
- | The input string to trim |
$characters |
string |
" \t\n\r\0\x0B" |
Characters to remove from both ends |
Returns
string - The trimmed string.
Description
The trim() method removes specified characters from both the beginning and end of a string. By default, it removes common whitespace characters:
| Character | Description |
|---|---|
| ` ` | Space |
\t |
Tab |
\n |
Newline (line feed) |
\r |
Carriage return |
\0 |
Null byte |
\x0B |
Vertical tab |
This method provides more explicit control over character removal compared to PHP’s built-in trim().
Examples
Basic Usage
use MarjovanLier\StringManipulation\StringManipulation;
$result = StringManipulation::trim(' Hello World ');
echo $result; // Output: Hello World
Custom Characters
// Remove specific characters
$result = StringManipulation::trim('###Hello###', '#');
echo $result; // Output: Hello
// Remove multiple custom characters
$result = StringManipulation::trim('***Hello***', '*#');
echo $result; // Output: Hello
Whitespace Handling
// Tabs and newlines
$input = "\t\nHello World\n\t";
$result = StringManipulation::trim($input);
echo $result; // Output: Hello World
// Mixed whitespace
$input = " \t Hello \n ";
$result = StringManipulation::trim($input);
echo $result; // Output: Hello
URL Path Cleaning
$path = '/api/users/';
$result = StringManipulation::trim($path, '/');
echo $result; // Output: api/users
Use Cases
Form Input Cleaning
function cleanFormInput(array $input): array
{
return array_map(function ($value) {
if (is_string($value)) {
return StringManipulation::trim($value);
}
return $value;
}, $input);
}
$input = [
'name' => ' John Doe ',
'email' => ' john@example.com ',
];
$cleaned = cleanFormInput($input);
// Result: ['name' => 'John Doe', 'email' => 'john@example.com']
CSV Parsing
function parseCSVLine(string $line): array
{
$fields = explode(',', $line);
return array_map(function ($field) {
// Remove quotes and whitespace
return StringManipulation::trim($field, " \t\n\r\"'");
}, $fields);
}
$line = '"John" , "Doe" , "john@example.com"';
$fields = parseCSVLine($line);
// Result: ['John', 'Doe', 'john@example.com']
Path Normalisation
function normalisePath(string $path): string
{
// Remove trailing slashes
$path = StringManipulation::trim($path, '/\\');
// Ensure leading slash
return '/' . $path;
}
$path = normalisePath('/api/users//');
// Result: /api/users
Log Message Cleaning
function cleanLogMessage(string $message): string
{
// Remove control characters and excessive whitespace
return StringManipulation::trim($message, " \t\n\r\0\x0B\x1B");
}
Comparison with PHP trim()
| Feature | StringManipulation::trim() |
PHP trim() |
|---|---|---|
| Type safety | Explicit string parameter | Mixed input |
| Return type | Guaranteed string | String (with type juggling) |
| Default chars | Same whitespace set | Same whitespace set |
| Custom chars | Second parameter | Second parameter |
Related Methods
strReplace()- For replacing characters within stringssearchWords()- Includes trimming in normalisation