Я уже вроде всё упростила:
$acronym = ":/";
$expansion = "[skeptical]";
$pattern = preg_quote($acronym);
$pattern = "/http$pattern/";
if (! preg_match($pattern, $tweet_text)) {$tweet_text = str_ireplace($acronym, $expansion, $tweet_text);}
И всё равно твиты с ":/" внутри обращаются в "[skeptical]", то есть preg_match его не ловит. На поступающие твиты сыплются предупреждения об неизвестных модификаторах: /, \, @ и даже _.
trionix:
Уютная история о юной ведьмочке, между которой и суровым волшебным миром вдруг оказались родственники-маги. И все пошло наперекосяк для бородатого интригана, но логично и понятно для всех остальных.