MbStringDetector¶
Detector implementation using PHP's mbstring extension.
Synopsis¶
namespace Ducks\Component\EncodingRepair\Detector;
final class MbStringDetector implements DetectorInterface
{
public function detect(string $string, array $options): ?string;
public function getPriority(): int;
public function isAvailable(): bool;
}
Description¶
Uses mb_detect_encoding() to detect character encoding with strict mode enabled.
Priority: 100 (highest - most reliable)
Requirements: ext-mbstring (always available)
Methods¶
detect()¶
Detects encoding using mbstring extension.
public function detect(string $string, array $options): ?string
Parameters:
- $string - String to analyze
- $options - Detection options
- encodings: array - List of encodings to test (default: UTF-8, CP1252, ISO-8859-1, ASCII)
Returns: Detected encoding or null if detection fails
Example:
use Ducks\Component\EncodingRepair\Detector\MbStringDetector;
$detector = new MbStringDetector();
$encoding = $detector->detect('Café', ['encodings' => ['UTF-8', 'ISO-8859-1']]);
echo $encoding; // "UTF-8"
getPriority()¶
Returns detector priority.
public function getPriority(): int
Returns: 100
isAvailable()¶
Checks if mbstring extension is available.
public function isAvailable(): bool
Returns: Always true (mbstring is required)