3v4l.org

run code in 300+ PHP versions simultaneously
<?php function esc_url($string) { return $string; // just preventing demo breakage } function get_term_link($wpObject) { return 'https://www.example.com/' . $wpObject->slug; } $tipologiaTerms = [ (object) ['term_id' => 1, 'name' => 'racconti sulla vita', 'slug' => 'racconti-sulla-vita', 'taxonomy' => 'category'], (object) ['term_id' => 2, 'name' => 'racconti di passione', 'slug' => 'racconti-di-passione', 'taxonomy' => 'category'], (object) ['term_id' => 3, 'name' => 'sulle amotivazionali', 'slug' => 'sulle-amotivazionali', 'taxonomy' => 'category'], (object) ['term_id' => 4, 'name' => 'boem sulle', 'slug' => 'boem-sulle', 'taxonomy' => 'category'], (object) ['term_id' => 5, 'name' => 'racconti sui pensieri', 'slug' => 'racconti-sui-pensieri', 'taxonomy' => 'category'], (object) ['term_id' => 6, 'name' => 'racconti motivazionali', 'slug' => 'racconti-motivazionali', 'taxonomy' => 'category'], ]; $blacklist = ["racconti", "sul", "sull'", "sulla", "sulle", "sullo", "sui", "di"]; $pattern = '/\b(?:' . implode('|', $blacklist) . ')\b\s?/i'; $cleanNames = []; foreach ($tipologiaTerms as $wpTerm) { $wpTerm->name = rtrim(preg_replace($pattern, '', $wpTerm->name)); $cleanNames[] = $wpTerm->name; } array_multisort($cleanNames, $tipologiaTerms); foreach ($tipologiaTerms as $wpTerm) { printf( '<li><a href="%s">%s</a></li>' . "\n", esc_url(get_term_link($wpTerm)), $wpTerm->name ); }

preferences:
18.01 ms | 408 KiB | 5 Q