3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?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", "|", $a); $a = str_replace("C".$h."C", "}", $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;
based on ljai8
Output for 5.6.0 - 5.6.30, hhvm-3.12.14 - 3.17.3, 7.0.0 - 7.0.6, 7.0.8 - 7.3.0rc3
{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}}.
Output for 7.0.7

Process exited with code 137.