src/Fixer/StringNotation/SingleQuoteFixer.php
protected function applyFix(\SplFileInfo $file, Tokens $tokens)
    {
        foreach ($tokens as $index => $token) {
            if (!$token->isGivenKind(T_CONSTANT_ENCAPSED_STRING)) {
                continue;
            }

            $content = $token->getContent();
            $prefix = '';

            if ('b' === strtolower($content[0])) {
                $prefix = $content[0];
                $content = substr($content, 1);
            }

            if (
                '"' === $content[0] &&
                (true === $this->configuration['strings_containing_single_quote_chars'] || false === strpos($content, "'")) &&
                // regex: odd number of backslashes, not followed by double quote or dollar
                !Preg::match('/(?<!\\\\)(?:\\\\{2})*\\\\(?!["$\\\\])/', $content)
            ) {
                $content = substr($content, 1, -1);
                $content = str_replace(['\\"', '\\$', '\''], ['"', '$', '\\\''], $content);
                $tokens[$index] = new Token([T_CONSTANT_ENCAPSED_STRING, $prefix.'\''.$content.'\'']);
            }
        }
    }
protected function applyFix(\SplFileInfo $file, Tokens $tokens)
    {
        foreach ($tokens as $index => $token) {
            if (!$token->isGivenKind(T_CONSTANT_ENCAPSED_STRING)) {
                continue;
            }

            $content = $token->getContent();
            $prefix = '';

            if ('b' === strtolower($content[0])) {
                $prefix = $content[0];
                $content = substr($content, 1);
            }

            if (
                '"' === $content[0] &&
                (true === $this->configuration['strings_containing_single_quote_chars'] || false === strpos($content, "'")) &&
                // regex: odd number of backslashes, not followed by double quote or dollar
                !Preg::match('/(?<!\\\\)(?:\\\\{2})*\\\\(?!["$\\\\])/', $content)
            ) {
                $content = substr($content, 1, -1);
                $content = str_replace(['\\"', '\\$', '\''], ['"', '$', '\\\''], $content);
                $tokens[$index] = new Token([T_CONSTANT_ENCAPSED_STRING, $prefix.'\''.$content.'\'']);
            }
        }
    }
protected function applyFix ( \ SplFileInfo $ file , Tokens $ tokens ) { foreach ( $ tokens as $ index => $ token ) { if ( ! $ token -> isGivenKind ( T_CONSTANT_ENCAPSED_STRING ) ) { continue ; } $ content = $ token -> getContent ( ) ; $ prefix = '' ; if ( 'b' === strtolower ( $ content [ 0 ] ) ) { $ prefix = $ content [ 0 ] ; $ content = substr ( $ content , 1 ) ; } if ( '"' === $ content [ 0 ] && ( true === $ this -> configuration [ 'strings_containing_single_quote_chars' ] || false === strpos ( $ content , "'" ) ) && // regex: odd number of backslashes, not followed by double quote or dollar ! Preg :: match ( '/(?<!\\\\)(?:\\\\{2})*\\\\(?!["$\\\\])/' , $ content ) ) { $ content = substr ( $ content , 1 , - 1 ) ; $ content = str_replace ( [ '\\"' , '\\$' , '\'' ] , [ '"' , '$' , '\\\'' ] , $ content ) ; $ tokens [ $ index ] = new Token ( [ T_CONSTANT_ENCAPSED_STRING , $ prefix . '\'' . $ content . '\'' ] ) ; } } }
{@inheritdoc}
{