3v4l.org

run code in 300+ PHP versions simultaneously
<?php $notifications = [ ['score'=>120,'type'=>5,'post_id'=>1,'subject'=>'a subject','range_day'=>'today'], ['score'=>6,'type'=>4,'post_id'=>2,'subject'=>'a subject','range_day'=>'today'], ['score'=>2,'type'=>4,'post_id'=>3,'subject'=>'a subject','range_day'=>'yesterday'], ]; $template = <<< 'TXT' <li> <p class="subject">{{subject}}<span> | type:{{type}}</span></p> <div class="score">Your score: {{score}}</div> <a href="/{{post_id}}/{{no_space_subject}}"> <span class="date">{{range_day}}</span> </li> TXT; $links = ''; foreach ($notifications as $n){ $n['no_space_subject'] = str_replace(' ','-',$n['subject']); //replace {{VALUE}} with $n[VALUE] in the template. append result //to $links $links .= preg_replace_callback('/{{([^}]+)}}/s', function($m) use ($n){return $n[$m[1]];}, $template ); } echo "<u>$links</u>";

preferences:
52.02 ms | 402 KiB | 5 Q