preg_replace () не находит конечный разделитель?

Я использую preg_replace() много, но я не гений.

Если я запустил функцию и намеренно включил все смайлики, которые я хочу использовать, например

 <?php function parse_emotes($body){ $body = preg_replace("#\:p#i", "<img src='images/emotes/tongue.png' alt=':p' title=':p' />", $body); //they continue like i said return $body; } ?> 

но сегодня я попытался изменить его и использовать mysql, чтобы позволить мне просто вставлять и удалять их, как я прошу, не играя в моем коде, но когда я его пробовал, он только бросает

Предупреждение: preg_replace () [function.preg-replace]: Конечный разделитель '#' не найден в PATH / TO / FILE.php в строке 226

Вот код, который я использовал в первый раз:

 <?php function parse_emotes($body){ while($row = $db->Query("SELECT * FROM emotes", 3)) { return $body = preg_replace($row['regex'], "<img src='images/emotes/" . $row['src'] . "' alt='" . $row['alt'] . "' title='" . $row['alt'] . "' />", $body); } } ?> 

Это не сработало, и да строка регулярных выражений включала разделители, чтобы она выводила #\:p#

Я получил ту же ошибку, что и раньше, а затем я попытался вывести # из данных в MySQL и просто изменил preg_replace следующим образом

 preg_replace('#' . $row['regex'] . '#i', .......) 

и ему все равно не нравится? Я также попытался назначить:

 $regex = $row['regex']; preg_replace("#$regex#i"); 

Угадай, что? Все еще нет. Любая помощь в том, куда идти с этим, очень ценится.

Related of "preg_replace () не находит конечный разделитель?"

Так как люди все еще занимают эту тему. @salathe был прав в комментариях к комментариям (возвращение в цикле .. Ooops).

но вот ответ:

 $emotes = $db->select(['regex', 'class'])->from("emotes")->execute(); while ($emote = $db->fassoc($emotes)) { $body = preg_replace("#{$emote['regex']}#i", "<i class='sprite-emote {$emote['class']}'></i>", $body); } /* ...other parsing... */ return $body; 

Измените свой код

 preg_replace('#' . $row['regex'] . '#i', .......) 

в

 preg_replace('/' . $row['regex'] . '/i', .......)