for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Efabrica\TranslationsAutomatization\TextFinder;
class RegexTextFinder implements TextFinderInterface
{
private $patterns = [];
public function addPattern(string $pattern, int $textPosition = 1)
$this->patterns[$pattern] = $textPosition;
return $this;
}
public function find(string $content): array
$texts = [];
foreach ($this->patterns as $pattern => $textPosition) {
preg_match_all($pattern, $content, $matches);
$matchesCount = count($matches[0]);
for ($i = 0; $i < $matchesCount; ++$i) {
$text = trim($matches[$textPosition][$i]);
if ($text === '') {
continue;
$texts[trim($matches[0][$i])] = $text;
return $texts;