3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $value = "[Code][WST-2587] hello world"; print($value); print("\n"); $trimPattern = '/^[”’"\'(<]*@?(.+?)[.”’"\'\,!?:;)>]*$/'; print($trimPattern); print("\n"); $projects = array('IC', 'WST'); $calloutPattern = "/^(?:" . implode('|', $projects) . ")-[0-9]+$/"; print($calloutPattern); print("\n"); $words = preg_split('/(\s+)/', $value); print "\nWords:\n"; foreach ($words as $word) { print($word); print("\n"); } preg_match_all('/[(<\[]((' . implode('|', $projects) . ')-[0-9]+)[\]>)]/', $value, $matches); print "\nMatches:\n"; foreach ($matches[1] as $match) { print($match); print("\n"); } $words = array_merge($words, $matches[1]); print "\nMerged Words:\n"; foreach ($words as $word) { print($word); print("\n"); }
based on cIACl
Output for 4.3.0 - 7.2.0
[Code][WST-2587] hello world /^[”’"'(<]*@?(.+?)[.”’"'\,!?:;)>]*$/ /^(?:IC|WST)-[0-9]+$/ Words: [Code][WST-2587] hello world Matches: WST-2587 Merged Words: [Code][WST-2587] hello world WST-2587