<?php
$a = <<<TEST
{De nombreuses entreprises {|dans le {secteur|domaine} {de la communication|des médias|des services|de la vente {|en ligne}|du e-commerce|du commerce en ligne}}|{De nombreuses personnes|De nombreux {cadres|professionnels}} {dont le {métier|rôle} est de {communiquer|gérer la communication|gérer la relation-clients}|qui {travaillent|officient} dans {la communication|les relations avec les clients|la publicité|le marketing}}} {utilisent|se servent de} {notre {service|offre|plateforme|API}|nos {services|offres|plateformes|API}} pour {envoyer leurs SMS|générer du CA|augmenter leurs {ventes|revenus|bénéfices}|gérer leurs campagnes} {|et {ça|cela} {marche|semble marcher}|et {la réussite|le succès} {est|semble|semble être} {là|au rendez-vous}|et tout le monde {{est|semble|semble être} {satisfait|content}|y gagne}}.
TEST;
for ($j = 1; $j <= 10; $j++) {
$out = array();
if(preg_match("|\{[^\{\}]+\}|",$a)){
echo ('ttttt'.$j.'ttt');
};
preg_match_all("|\{[^\{\}]+\}|",$a,$out, PREG_PATTERN_ORDER);
if (empty($out)) {
die($j);
break;
}
//print_r($out);
$depth = $j;
$outCleanned = array_map(function($value) use ($depth) {
$value = str_replace('{', 'A' . $depth . 'A', $value);
$value = str_replace('|', 'B' . $depth . 'B', $value);
$value = str_replace('}', 'C' . $depth . 'C', $value);
return $value;
}, $out);
$b = $a;
foreach ($out as $i => $value) {
$b = str_replace($value, $outCleanned[$i], $b);
}
$a = $b;
//print_r($outCleanned);
}
$a = str_replace("A4A", "\n{\n", $a);
$a = str_replace("B4B", "|", $a);
$a = str_replace("C4C", "\n}\n", $a);
$a = str_replace("A3A", "\n\t{\n\t", $a);
$a = str_replace("B3B", "|", $a);
$a = str_replace("C3C", "\n\t}\n\t", $a);
$a = str_replace("A2A", "\n\t\t{\n\t\t", $a);
$a = str_replace("B2B", "|", $a);
$a = str_replace("C2C", "\n\t\t}\n\t\t", $a);
$a = str_replace("A1A", "{", $a);
$a = str_replace("B1B", "|", $a);
$a = str_replace("C1C", "}", $a);
echo $a;
preferences:
58.34 ms | 402 KiB | 5 Q