rector/packages/BetterPhpDocParser/Printer/DocBlockInliner.php

25 lines
701 B
PHP
Raw Normal View History

<?php
declare (strict_types=1);
2022-06-06 16:43:29 +00:00
namespace RectorPrefix20220606\Rector\BetterPhpDocParser\Printer;
use RectorPrefix20220606\Nette\Utils\Strings;
final class DocBlockInliner
{
/**
* @var string
* @see https://regex101.com/r/Mjb0qi/1
*/
private const NEWLINE_CLOSING_DOC_REGEX = "#\n \\*\\/\$#";
/**
* @var string
* @see https://regex101.com/r/U5OUV4/2
*/
private const NEWLINE_MIDDLE_DOC_REGEX = "#\n \\* #";
public function inline(string $docContent) : string
{
2022-06-06 16:43:29 +00:00
$docContent = Strings::replace($docContent, self::NEWLINE_MIDDLE_DOC_REGEX, ' ');
return Strings::replace($docContent, self::NEWLINE_CLOSING_DOC_REGEX, ' */');
}
}