squirrelphp/strings

View on GitHub
src/Filter/StreamlineInputNoNewlinesFilter.php

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
<?php

namespace Squirrel\Strings\Filter;

use Squirrel\Strings\StringFilterInterface;
use Squirrel\Strings\StringFilterRunner;

/**
 * Recommended way of streamlining input
 */
class StreamlineInputNoNewlinesFilter implements StringFilterInterface
{
    private StringFilterInterface $filterRunner;

    public function __construct()
    {
        $this->filterRunner = new StringFilterRunner(
            new RemoveNonUTF8CharactersFilter(),
            new ReplaceUnicodeWhitespacesFilter(),
            new ReplaceTabsWithSpacesFilter(),
            new ReplaceNewlinesWithSpacesFilter(),
            new RemoveExcessSpacesFilter(),
        );
    }

    public function filter(string $string): string
    {
        return $this->filterRunner->filter($string);
    }
}