到目前为止,我所做的是编写一个我在另一页上调用的函数:
<div style="<?php echo groupColor($_SESSION['username']); ?>"><?php echo $_SESSION['username']; ?></div>
它从username_css
检索xf_user_group
样式的方式是什么呢?这样我就可以根据xenforo论坛上的颜色为用户的用户名着色(所有username_css包含color: #somecolorcode;
)
function groupColor($username) {
global $xenforo;
$xf_getuser = $xenforo->query("SELECT * FROM xf_user WHERE username = '".$username."'");
if($xf_getuser->num_rows >= 1) {
$fetch_xf_getuser = $xf_getuser->fetch_array();
$fetch_xf_getuser_group = $fetch_xf_getuser["display_style_group_id"];
$xf_getgroupstyle = $xenforo->query("SELECT * FROM xf_user_group WHERE user_group_id = '".$fetch_xf_getuser_group."'");
if($xf_getgroupstyle->num_rows >= 1) {
$fetch_xf_getgroupstyle = $xf_getgroupstyle->fetch_array();
$result_forum_css = $fetch_xf_getgroupstyle["username_css"];
return $result_forum_css;
} else {
die(mysqli_error($xenforo));
}
} else {
die(mysqli_error($xenforo));
}
}
我现在要做的是,只从color: #somecolorcode;
中提取username_css
,这样我就可以用它为背景着色,如下所示:background-color: #somecolorcode;
知道我应该如何继续?感谢所有的帮助,对不好的标题感到抱歉,我不确定该方法的用途。
编辑1:
username_css
行不仅包含color: #colorcode;
,还包含以下内容:font-weight: bold;
font-style: italic;
color: red;
答案 0 :(得分:0)
您可以尝试获取颜色后的所有数据:使用strpos和substr:
public ArrayList getUnique( ArrayList original, ArrayList subset ){
ArrayList u = new ArrayList();
Collection<ArrayList> o = original;
Collection<ArrayList> s = subset;
o.removeAll(s);
u.addAll(o);
return u;
}
答案 1 :(得分:0)
而不是下线。
return $result_forum_css;
替换它。
$total_prop = count($result_forum_css);
$explode_result = explode(";",$result_forum_css);
return $explode_result[$total_prop-2];
在这里,根据您的评论,我们将计算总结果,最后的结果将始终为空,因此,我们获取倒数第二个元素,以便我们用2来否定总计数。