本文整理汇总了PHP中Icon::app方法的典型用法代码示例。如果您正苦于以下问题:PHP Icon::app方法的具体用法?PHP Icon::app怎么用?PHP Icon::app使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Icon
的用法示例。
在下文中一共展示了Icon::app方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: icons_in_post
protected function icons_in_post($full_post)
{
$post = $full_post['.postmsg'][0];
if (strpos($post->html(), '<img') === false) {
return array();
}
$post_text = self::clean_up_post($post);
$artist_name = $full_post['.postleft dt'][0]->text();
$post_imgs = $post['img.postimg'];
if (empty($post_imgs)) {
return array();
}
$icons = self::find_icon_names_in_post($post_imgs, $post_text);
$post_icons = array();
foreach ($icons as $img_src => $name) {
$icon = Make::an('Icon')->like('src', $img_src)->first();
$changed = false;
if (!$icon) {
$icon = new Icon();
$icon->src = $img_src;
$icon->theme_id = $this->theme->id;
// TODO: make this DRYer too
if ($artist_name) {
$artist = Make::an('Artist')->like('name', $artist_name)->first();
if (!$artist) {
$artist = new Artist();
$artist->name = $artist_name;
$artist->save();
}
$icon->setArtist($artist);
}
$changed = true;
}
if ($name && !$icon->app()) {
$app = Make::an('App')->like('name', $name)->first();
if (!$app) {
$app = new App();
$app->name = $name;
$app->save();
}
$icon->setApp($app);
$changed = true;
}
if ($changed) {
$icon->save();
}
$post_icons[] = $icon;
}
/*
$matches = array();
$maybe_names = array();
if (preg_match('/(([a-z0-9\-]{2,}), )+([a-z0-9\- ]{2,})/i', $post_text, $matches)) {
$maybe_names = explode(',', $matches[0]); # [0] == entire match
$maybe_names = array_map('trim', $maybe_names);
} else {
$w = self::WORD_REGEXP;
$and_match = array();
if (preg_match('/'.$w.' and '.$w.'/iu', $post_text, $and_match)) {
$maybe_names = explode(' and ', $and_match[0]);
$maybe_names = array_map('trim', $maybe_names);
}
}
if ($maybe_names) {
foreach ($post_icons as &$post_icon) {
$post_icon->maybe_names = array_merge($post_icon->maybe_names, $maybe_names);
}
}
*/
return $post_icons;
}