3v4l.org

run code in 300+ PHP versions simultaneously
<?php function _prepareSkuParseRules(){ $structure = array(); $skuStructure = "[#name]-[Stoffgruppe]-[Groesse]-[:Ausfuehrung]-[:Matratze]"; $segments = explode("-", $skuStructure); foreach($segments as $segment){ $segmentInfo = array(); //check if segment is fixed if(!preg_match('/^\[(#|:)?([^\]#]*)\]$/', $segment, $matches)){ //is fixed value $segmentInfo["type"] = "provided"; $segmentInfo["namespace"] = "both"; $segmentInfo["value"] = $matches[2]; }else{ if(isset($matches[1]) && !empty($matches[1]) && strcmp($matches[1], "#")==0){ $segmentInfo["type"] = "provided"; $segmentInfo["namespace"] = "both"; //is registered variable name switch($matches[2]){ case "name": $segmentInfo["value"] = "modell"; break; } }else{ if(isset($matches[1]) && !empty($matches[1]) && strcmp($matches[1], ":")==0){ $segmentInfo["namespace"] = "simple"; }else{ $segmentInfo["namespace"] = "both"; } $segmentInfo["type"] = "field"; $segmentInfo["fieldname"] = $matches[2]; } } $structure[] = $segmentInfo; } var_dump($structure); } _prepareSkuParseRules(); echo strtolower("This-is-my-Segmentation-test");
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 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.18, 8.3.0 - 8.3.6
array(5) { [0]=> array(3) { ["type"]=> string(8) "provided" ["namespace"]=> string(4) "both" ["value"]=> string(6) "modell" } [1]=> array(3) { ["namespace"]=> string(4) "both" ["type"]=> string(5) "field" ["fieldname"]=> string(11) "Stoffgruppe" } [2]=> array(3) { ["namespace"]=> string(4) "both" ["type"]=> string(5) "field" ["fieldname"]=> string(7) "Groesse" } [3]=> array(3) { ["namespace"]=> string(6) "simple" ["type"]=> string(5) "field" ["fieldname"]=> string(11) "Ausfuehrung" } [4]=> array(3) { ["namespace"]=> string(6) "simple" ["type"]=> string(5) "field" ["fieldname"]=> string(8) "Matratze" } } this-is-my-segmentation-test

preferences:
260.43 ms | 407 KiB | 465 Q