Здравствуйте. Есть регулярка для замены bbcode
-смайла:
return preg_replace('#\[smile\](\d+)\[/smile\]#',
'<img src="https://site.com/assets/img/smiles/$1.gif?2" class="smileicon">',
$text);
Но проблема в том, что смайлов всего - 36. А если ввести [smile]37[/smile]
то выведется пустая 404 картинка. Не подскажите как можно это исправить?
Можно рассмотреть пару вариантов.
Первый - использовать preg_replace_callback
, с проверкой допустимости числового значения. Примерно так:
$data = [ "[smile]36[/smile]", "[smile]37[/smile]"];
foreach($data as $text){
$out = preg_replace_callback('#\[smile\](\d+)\[/smile\]#',.
function($matches){
if($matches[1] < 37){
return '<img src="https://site.com/assets/img/smiles/'.$matches[1].'.gif?2" class="smileicon">';
}
return $matches[0];
}, $text);
print_r($out);
}
второй - составить регулярку, которая будет соответствовать только диапазону 1-36, какую нить а-ля
#\[smile\]([1-9]|[12]\d|3[0-6])\[\/smile\]#
Если имеенно регуляркой
#\[smile\]([012]\d|3[0-6])\[/smile\]#
можно попробовать тут :)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Добрый день! Подскажите пожалуйста, поставил плагин проверки "битых ссылок", но необходимо его расширить, добавить пару url-адресов для проверки...
WP Данные из текстового поля попадают в переменную the_contentНужна функция, которая будет пробегаться по тексту, выискивать таблицы, не заключенные...
Есть АПИ на Laravel, я использую библиотеку Laravel-Excel что бы сгенерировать xls файл, как его правильно отдать клиенту и как сделать на реакте скачивание...