Skip to content

ConsistentPregDelimiterRector Break regex with carriage return #6868

@lahaxearnaud

Description

@lahaxearnaud

First of all thank you for this amazing tool.

Bug Report

Subject Details
Rector version 0.12.7

After executing Rector\CodingStyle\Rector\FuncCall\ConsistentPregDelimiterRector rules all regex wil \n or \r pattern are broken.
This is what I get:

            $parts = preg_split("#(
|
|
){2}#", $content);

Minimal PHP Code Causing Issue

            $content = 'some texte';
            $parts = preg_split("/(\r\n|\n|\r){2}/", $content);

The rector file

<?php

declare(strict_types=1);

use Rector\Core\Configuration\Option;
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;

return static function (ContainerConfigurator $containerConfigurator): void {
    // get parameters
    $parameters = $containerConfigurator->parameters();
    $parameters->set(Option::PATHS, [
        __DIR__ . '/src'
    ]);
    $services = $containerConfigurator->services();

    $services->set(\Rector\CodingStyle\Rector\FuncCall\ConsistentPregDelimiterRector::class);
};

Expected Behaviour

            $parts = preg_split("#(\r\n|\n|\r){2}#", $content);

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions