$re = '/^\*<font color="#ffff00">(.*?)<\/font>/m';
$str = '*<font color="#ffff00">Blue Moon Frogurt</font> <font color="#ffffff">(Unlocked on Rank 116 with <font color="#ffff00">\'\'\'\'\'Unrevealed Contest Entry\'\'\'\'\'</font><font color="#ffffff">)</font>
*<font color="#ffff00">Shadowberry Derps</font> <font color="#ffffff">(Unlocked on Day 2 of <font color="#ffff00">Summer Solstice</font><font color="#ffffff">)</font>
*<font color="#ffff00">Golden Solstice Truffle</font> <font color="#ffffff">(Unlocked on Rank 117 with <font color="#ffff00">?</font><font color="#ffffff">)</font>';
$subst = "*[[$1|<font color=\"#ffff00\">$1</font>]]";
$result = preg_replace($re, $subst, $str);
echo "The result of the substitution is ".$result;
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php