3v4l.org

run code in 300+ PHP versions simultaneously
<?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; $dead = ''; for ($j = 1; $j <= 10; $j++) { $out = array(); if(preg_match("|\{[^\{\}]+\}|",$a)){ $dead = $j; preg_match_all("|\{[^\{\}]+\}|",$a,$out, PREG_PATTERN_ORDER); //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); } /* for ($h = 1; $h <= $depth; $h++) { $tab = str_repeat("\t", $h); $a = str_replace("A".$h."A", "\n".$tab."{", $a); $a = str_replace("B".$h."B", "\n".$tab."|", $a); $a = str_replace("C".$h."C", "\n".$tab."}", $a); } */ for ($h = $depth; $h >= 1; $h--) { $tab = str_repeat("\t", $depth-$h); $a = str_replace("A".$h."A", "\n".$tab."{", $a); $a = str_replace("B".$h."B", "".$tab."|", $a); $a = str_replace("C".$h."C", "".$tab."}", $a); } /* $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 $depth; echo $a;
Output for 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
{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 } }.

preferences:
195.94 ms | 406 KiB | 293 Q