8.9 修改代码高亮样式

This commit is contained in:
小赵同学 committed 2024-08-09 09:07:26 +08:00
1 parent 62cac6c7b0
commit 2e11da0d0b
15 files changed
+2414 -2410

No files matched your search

+65 -65
View File
@@ -93,38 +93,38 @@
<p>谷歌了一下其他大佬的解决方法,规则之树大佬提供了两个方法</p>
<p>参考资料:https://www.ruletree.club/archives/1566/</p>
<p>1.第一种则是获取json数据进行分割得出k值再进行重组</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-php" data-lang="php"><span style="display:flex;"><span><span style="color:#66d9ef">function</span> <span style="color:#a6e22e">Authorimg</span>($email)
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span> $a<span style="color:#f92672">=</span><span style="color:#e6db74">&#39;cdn.v2ex.com/gravatar&#39;</span>;<span style="color:#75715e">//gravatar头像源
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span> $b<span style="color:#f92672">=</span><span style="color:#a6e22e">str_replace</span>(<span style="color:#e6db74">&#39;@qq.com&#39;</span>,<span style="color:#e6db74">&#39;&#39;</span>,$email);<span style="color:#75715e">//替换qq邮箱
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span> <span style="color:#66d9ef">if</span>(<span style="color:#a6e22e">stristr</span>($email,<span style="color:#e6db74">&#39;@qq.com&#39;</span>)<span style="color:#f92672">&amp;&amp;</span><span style="color:#a6e22e">is_numeric</span>($b)<span style="color:#f92672">&amp;&amp;</span><span style="color:#a6e22e">strlen</span>($b)<span style="color:#f92672">&lt;</span><span style="color:#ae81ff">11</span><span style="color:#f92672">&amp;&amp;</span><span style="color:#a6e22e">strlen</span>($b)<span style="color:#f92672">&gt;</span><span style="color:#ae81ff">4</span>){
</span></span><span style="display:flex;"><span> $nk <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;http://ptlogin2.qq.com/getface?&amp;imgtype=1&amp;uin=&#39;</span><span style="color:#f92672">.</span>$b;<span style="color:#75715e">//qq头像api
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span> $q <span style="color:#f92672">=</span> <span style="color:#a6e22e">file_get_contents</span>($nk);<span style="color:#75715e">//读入文件
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span> $q <span style="color:#f92672">=</span> <span style="color:#a6e22e">json_encode</span>($nk);<span style="color:#75715e">//编码json
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span> $k <span style="color:#f92672">=</span> <span style="color:#a6e22e">explode</span>(<span style="color:#e6db74">&#34;&amp;k=&#34;</span>,$q)[<span style="color:#ae81ff">1</span>];<span style="color:#75715e">//分割出k值
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span> <span style="color:#66d9ef">echo</span> <span style="color:#e6db74">&#39;https://q.qlogo.cn/g?b=qq&amp;k=&#39;</span><span style="color:#f92672">.</span>$k<span style="color:#f92672">.</span><span style="color:#e6db74">&#39;&amp;s=100&#39;</span>;<span style="color:#75715e">//重组
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span> }<span style="color:#66d9ef">else</span>{
</span></span><span style="display:flex;"><span> $email<span style="color:#f92672">=</span> <span style="color:#a6e22e">md5</span>($email);
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">echo</span> <span style="color:#e6db74">&#39;https://&#39;</span><span style="color:#f92672">.</span>$a<span style="color:#f92672">.</span><span style="color:#e6db74">&#39;/&#39;</span><span style="color:#f92672">.</span>$email<span style="color:#f92672">.</span><span style="color:#e6db74">&#39;?&#39;</span>;
</span></span><span style="display:flex;"><span> }
</span></span><span style="display:flex;"><span>}
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-php" data-lang="php"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">function</span> <span style="color:#000">Authorimg</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">$email</span><span style="color:#000;font-weight:bold">)</span>
</span></span><span style="display:flex;"><span><span style="color:#000;font-weight:bold">{</span>
</span></span><span style="display:flex;"><span> <span style="color:#000">$a</span><span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#4e9a06">&#39;cdn.v2ex.com/gravatar&#39;</span><span style="color:#000;font-weight:bold">;</span><span style="color:#8f5902;font-style:italic">//gravatar头像源
</span></span></span><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"></span> <span style="color:#000">$b</span><span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#000">str_replace</span><span style="color:#000;font-weight:bold">(</span><span style="color:#4e9a06">&#39;@qq.com&#39;</span><span style="color:#000;font-weight:bold">,</span><span style="color:#4e9a06">&#39;&#39;</span><span style="color:#000;font-weight:bold">,</span><span style="color:#000">$email</span><span style="color:#000;font-weight:bold">);</span><span style="color:#8f5902;font-style:italic">//替换qq邮箱
</span></span></span><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"></span> <span style="color:#204a87;font-weight:bold">if</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">stristr</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">$email</span><span style="color:#000;font-weight:bold">,</span><span style="color:#4e9a06">&#39;@qq.com&#39;</span><span style="color:#000;font-weight:bold">)</span><span style="color:#ce5c00;font-weight:bold">&amp;&amp;</span><span style="color:#000">is_numeric</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">$b</span><span style="color:#000;font-weight:bold">)</span><span style="color:#ce5c00;font-weight:bold">&amp;&amp;</span><span style="color:#000">strlen</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">$b</span><span style="color:#000;font-weight:bold">)</span><span style="color:#ce5c00;font-weight:bold">&lt;</span><span style="color:#0000cf;font-weight:bold">11</span><span style="color:#ce5c00;font-weight:bold">&amp;&amp;</span><span style="color:#000">strlen</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">$b</span><span style="color:#000;font-weight:bold">)</span><span style="color:#ce5c00;font-weight:bold">&gt;</span><span style="color:#0000cf;font-weight:bold">4</span><span style="color:#000;font-weight:bold">){</span>
</span></span><span style="display:flex;"><span> <span style="color:#000">$nk</span> <span style="color:#ce5c00;font-weight:bold">=</span> <span style="color:#4e9a06">&#39;http://ptlogin2.qq.com/getface?&amp;imgtype=1&amp;uin=&#39;</span><span style="color:#ce5c00;font-weight:bold">.</span><span style="color:#000">$b</span><span style="color:#000;font-weight:bold">;</span><span style="color:#8f5902;font-style:italic">//qq头像api
</span></span></span><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"></span> <span style="color:#000">$q</span> <span style="color:#ce5c00;font-weight:bold">=</span> <span style="color:#000">file_get_contents</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">$nk</span><span style="color:#000;font-weight:bold">);</span><span style="color:#8f5902;font-style:italic">//读入文件
</span></span></span><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"></span> <span style="color:#000">$q</span> <span style="color:#ce5c00;font-weight:bold">=</span> <span style="color:#000">json_encode</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">$nk</span><span style="color:#000;font-weight:bold">);</span><span style="color:#8f5902;font-style:italic">//编码json
</span></span></span><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"></span> <span style="color:#000">$k</span> <span style="color:#ce5c00;font-weight:bold">=</span> <span style="color:#000">explode</span><span style="color:#000;font-weight:bold">(</span><span style="color:#4e9a06">&#34;&amp;k=&#34;</span><span style="color:#000;font-weight:bold">,</span><span style="color:#000">$q</span><span style="color:#000;font-weight:bold">)[</span><span style="color:#0000cf;font-weight:bold">1</span><span style="color:#000;font-weight:bold">];</span><span style="color:#8f5902;font-style:italic">//分割出k值
</span></span></span><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"></span> <span style="color:#204a87;font-weight:bold">echo</span> <span style="color:#4e9a06">&#39;https://q.qlogo.cn/g?b=qq&amp;k=&#39;</span><span style="color:#ce5c00;font-weight:bold">.</span><span style="color:#000">$k</span><span style="color:#ce5c00;font-weight:bold">.</span><span style="color:#4e9a06">&#39;&amp;s=100&#39;</span><span style="color:#000;font-weight:bold">;</span><span style="color:#8f5902;font-style:italic">//重组
</span></span></span><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"></span> <span style="color:#000;font-weight:bold">}</span><span style="color:#204a87;font-weight:bold">else</span><span style="color:#000;font-weight:bold">{</span>
</span></span><span style="display:flex;"><span> <span style="color:#000">$email</span><span style="color:#ce5c00;font-weight:bold">=</span> <span style="color:#000">md5</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">$email</span><span style="color:#000;font-weight:bold">);</span>
</span></span><span style="display:flex;"><span> <span style="color:#204a87;font-weight:bold">echo</span> <span style="color:#4e9a06">&#39;https://&#39;</span><span style="color:#ce5c00;font-weight:bold">.</span><span style="color:#000">$a</span><span style="color:#ce5c00;font-weight:bold">.</span><span style="color:#4e9a06">&#39;/&#39;</span><span style="color:#ce5c00;font-weight:bold">.</span><span style="color:#000">$email</span><span style="color:#ce5c00;font-weight:bold">.</span><span style="color:#4e9a06">&#39;?&#39;</span><span style="color:#000;font-weight:bold">;</span>
</span></span><span style="display:flex;"><span> <span style="color:#000;font-weight:bold">}</span>
</span></span><span style="display:flex;"><span><span style="color:#000;font-weight:bold">}</span>
</span></span></code></pre></div><p>2.第二种获取HTTP请求所发送的标头的数组,不用读入整个文件不会影响效率</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-php" data-lang="php"><span style="display:flex;"><span> <span style="color:#66d9ef">function</span> <span style="color:#a6e22e">Authorimg</span>($email)
</span></span><span style="display:flex;"><span> {
</span></span><span style="display:flex;"><span> $a<span style="color:#f92672">=</span><span style="color:#e6db74">&#39;cdn.v2ex.com/gravatar&#39;</span>;<span style="color:#75715e">//gravatar头像源
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span> $b<span style="color:#f92672">=</span><span style="color:#a6e22e">str_replace</span>(<span style="color:#e6db74">&#39;@qq.com&#39;</span>,<span style="color:#e6db74">&#39;&#39;</span>,$email);
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span>(<span style="color:#a6e22e">stristr</span>($email,<span style="color:#e6db74">&#39;@qq.com&#39;</span>)<span style="color:#f92672">&amp;&amp;</span><span style="color:#a6e22e">is_numeric</span>($b)<span style="color:#f92672">&amp;&amp;</span><span style="color:#a6e22e">strlen</span>($b)<span style="color:#f92672">&lt;</span><span style="color:#ae81ff">11</span><span style="color:#f92672">&amp;&amp;</span><span style="color:#a6e22e">strlen</span>($b)<span style="color:#f92672">&gt;</span><span style="color:#ae81ff">4</span>){
</span></span><span style="display:flex;"><span> $nk <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;https://s.p.qq.com/pub/get_face?img_type=3&amp;uin=&#39;</span><span style="color:#f92672">.</span>$b;
</span></span><span style="display:flex;"><span> $c <span style="color:#f92672">=</span> <span style="color:#a6e22e">get_headers</span>($nk, <span style="color:#66d9ef">true</span>);
</span></span><span style="display:flex;"><span> $d <span style="color:#f92672">=</span> $c[<span style="color:#e6db74">&#39;Location&#39;</span>];
</span></span><span style="display:flex;"><span> $q <span style="color:#f92672">=</span> <span style="color:#a6e22e">json_encode</span>($d);
</span></span><span style="display:flex;"><span> $k <span style="color:#f92672">=</span> <span style="color:#a6e22e">explode</span>(<span style="color:#e6db74">&#34;&amp;k=&#34;</span>,$q)[<span style="color:#ae81ff">1</span>];
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">echo</span> <span style="color:#e6db74">&#39;https://q.qlogo.cn/g?b=qq&amp;k=&#39;</span><span style="color:#f92672">.</span>$k<span style="color:#f92672">.</span><span style="color:#e6db74">&#39;&amp;s=100&#39;</span>;
</span></span><span style="display:flex;"><span> }<span style="color:#66d9ef">else</span>{
</span></span><span style="display:flex;"><span> $email<span style="color:#f92672">=</span> <span style="color:#a6e22e">md5</span>($email);
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">echo</span> <span style="color:#e6db74">&#39;https://&#39;</span><span style="color:#f92672">.</span>$a<span style="color:#f92672">.</span><span style="color:#e6db74">&#39;/&#39;</span><span style="color:#f92672">.</span>$email<span style="color:#f92672">.</span><span style="color:#e6db74">&#39;?&#39;</span>;
</span></span><span style="display:flex;"><span> }
</span></span><span style="display:flex;"><span> }
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-php" data-lang="php"><span style="display:flex;"><span> <span style="color:#204a87;font-weight:bold">function</span> <span style="color:#000">Authorimg</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">$email</span><span style="color:#000;font-weight:bold">)</span>
</span></span><span style="display:flex;"><span> <span style="color:#000;font-weight:bold">{</span>
</span></span><span style="display:flex;"><span> <span style="color:#000">$a</span><span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#4e9a06">&#39;cdn.v2ex.com/gravatar&#39;</span><span style="color:#000;font-weight:bold">;</span><span style="color:#8f5902;font-style:italic">//gravatar头像源
</span></span></span><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"></span> <span style="color:#000">$b</span><span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#000">str_replace</span><span style="color:#000;font-weight:bold">(</span><span style="color:#4e9a06">&#39;@qq.com&#39;</span><span style="color:#000;font-weight:bold">,</span><span style="color:#4e9a06">&#39;&#39;</span><span style="color:#000;font-weight:bold">,</span><span style="color:#000">$email</span><span style="color:#000;font-weight:bold">);</span>
</span></span><span style="display:flex;"><span> <span style="color:#204a87;font-weight:bold">if</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">stristr</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">$email</span><span style="color:#000;font-weight:bold">,</span><span style="color:#4e9a06">&#39;@qq.com&#39;</span><span style="color:#000;font-weight:bold">)</span><span style="color:#ce5c00;font-weight:bold">&amp;&amp;</span><span style="color:#000">is_numeric</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">$b</span><span style="color:#000;font-weight:bold">)</span><span style="color:#ce5c00;font-weight:bold">&amp;&amp;</span><span style="color:#000">strlen</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">$b</span><span style="color:#000;font-weight:bold">)</span><span style="color:#ce5c00;font-weight:bold">&lt;</span><span style="color:#0000cf;font-weight:bold">11</span><span style="color:#ce5c00;font-weight:bold">&amp;&amp;</span><span style="color:#000">strlen</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">$b</span><span style="color:#000;font-weight:bold">)</span><span style="color:#ce5c00;font-weight:bold">&gt;</span><span style="color:#0000cf;font-weight:bold">4</span><span style="color:#000;font-weight:bold">){</span>
</span></span><span style="display:flex;"><span> <span style="color:#000">$nk</span> <span style="color:#ce5c00;font-weight:bold">=</span> <span style="color:#4e9a06">&#39;https://s.p.qq.com/pub/get_face?img_type=3&amp;uin=&#39;</span><span style="color:#ce5c00;font-weight:bold">.</span><span style="color:#000">$b</span><span style="color:#000;font-weight:bold">;</span>
</span></span><span style="display:flex;"><span> <span style="color:#000">$c</span> <span style="color:#ce5c00;font-weight:bold">=</span> <span style="color:#000">get_headers</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">$nk</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#204a87;font-weight:bold">true</span><span style="color:#000;font-weight:bold">);</span>
</span></span><span style="display:flex;"><span> <span style="color:#000">$d</span> <span style="color:#ce5c00;font-weight:bold">=</span> <span style="color:#000">$c</span><span style="color:#000;font-weight:bold">[</span><span style="color:#4e9a06">&#39;Location&#39;</span><span style="color:#000;font-weight:bold">];</span>
</span></span><span style="display:flex;"><span> <span style="color:#000">$q</span> <span style="color:#ce5c00;font-weight:bold">=</span> <span style="color:#000">json_encode</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">$d</span><span style="color:#000;font-weight:bold">);</span>
</span></span><span style="display:flex;"><span> <span style="color:#000">$k</span> <span style="color:#ce5c00;font-weight:bold">=</span> <span style="color:#000">explode</span><span style="color:#000;font-weight:bold">(</span><span style="color:#4e9a06">&#34;&amp;k=&#34;</span><span style="color:#000;font-weight:bold">,</span><span style="color:#000">$q</span><span style="color:#000;font-weight:bold">)[</span><span style="color:#0000cf;font-weight:bold">1</span><span style="color:#000;font-weight:bold">];</span>
</span></span><span style="display:flex;"><span> <span style="color:#204a87;font-weight:bold">echo</span> <span style="color:#4e9a06">&#39;https://q.qlogo.cn/g?b=qq&amp;k=&#39;</span><span style="color:#ce5c00;font-weight:bold">.</span><span style="color:#000">$k</span><span style="color:#ce5c00;font-weight:bold">.</span><span style="color:#4e9a06">&#39;&amp;s=100&#39;</span><span style="color:#000;font-weight:bold">;</span>
</span></span><span style="display:flex;"><span> <span style="color:#000;font-weight:bold">}</span><span style="color:#204a87;font-weight:bold">else</span><span style="color:#000;font-weight:bold">{</span>
</span></span><span style="display:flex;"><span> <span style="color:#000">$email</span><span style="color:#ce5c00;font-weight:bold">=</span> <span style="color:#000">md5</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">$email</span><span style="color:#000;font-weight:bold">);</span>
</span></span><span style="display:flex;"><span> <span style="color:#204a87;font-weight:bold">echo</span> <span style="color:#4e9a06">&#39;https://&#39;</span><span style="color:#ce5c00;font-weight:bold">.</span><span style="color:#000">$a</span><span style="color:#ce5c00;font-weight:bold">.</span><span style="color:#4e9a06">&#39;/&#39;</span><span style="color:#ce5c00;font-weight:bold">.</span><span style="color:#000">$email</span><span style="color:#ce5c00;font-weight:bold">.</span><span style="color:#4e9a06">&#39;?&#39;</span><span style="color:#000;font-weight:bold">;</span>
</span></span><span style="display:flex;"><span> <span style="color:#000;font-weight:bold">}</span>
</span></span><span style="display:flex;"><span> <span style="color:#000;font-weight:bold">}</span>
</span></span></code></pre></div><p>预装主题之后,确实可以实现,但是介于自己的Amigo朋友圈主题模版首页样式需要加载很多评论头像</p>
<p>使用这两个方法,加载首页的时间就很长了</p>
<p>一个头像需要花费一秒的时间,如果首页的头像较多,这个问题将会是致命的</p>
@@ -159,23 +159,23 @@ https://cravatar.cn/avatar/HASH</a></p>
<p>如果是QQ邮箱,则通过strtolower() 函数进行转换为小写,再md5加密,然后返回头像</p>
<h2 id="代码展示">代码展示</h2>
<p>因为是小白,可能写的有些问题</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-php" data-lang="php"><span style="display:flex;"><span><span style="color:#66d9ef">function</span> <span style="color:#a6e22e">Authorimg</span>($email)
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span> $a<span style="color:#f92672">=</span><span style="color:#e6db74">&#39;cravatar.cn/avatar&#39;</span>;<span style="color:#75715e">//gravatar头像源
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span> $b<span style="color:#f92672">=</span><span style="color:#a6e22e">str_replace</span>(<span style="color:#e6db74">&#39;@qq.com&#39;</span>,<span style="color:#e6db74">&#39;&#39;</span>,$email);
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span>(<span style="color:#a6e22e">stristr</span>($email,<span style="color:#e6db74">&#39;@qq.com&#39;</span>)<span style="color:#f92672">&amp;&amp;</span><span style="color:#a6e22e">is_numeric</span>($b)<span style="color:#f92672">&amp;&amp;</span><span style="color:#a6e22e">strlen</span>($b)<span style="color:#f92672">&lt;</span><span style="color:#ae81ff">11</span><span style="color:#f92672">&amp;&amp;</span><span style="color:#a6e22e">strlen</span>($b)<span style="color:#f92672">&gt;</span><span style="color:#ae81ff">4</span>){
</span></span><span style="display:flex;"><span> $address <span style="color:#f92672">=</span> <span style="color:#a6e22e">strtolower</span>( <span style="color:#a6e22e">trim</span>( $email ) );
</span></span><span style="display:flex;"><span> $hash <span style="color:#f92672">=</span> <span style="color:#a6e22e">md5</span>( $address );
</span></span><span style="display:flex;"><span> $qqimgurl <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;https://cravatar.cn/avatar/&#39;</span> <span style="color:#f92672">.</span> $hash;
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">return</span> $qqimgurl;
</span></span><span style="display:flex;"><span> }<span style="color:#66d9ef">else</span>{
</span></span><span style="display:flex;"><span> $email<span style="color:#f92672">=</span> <span style="color:#a6e22e">md5</span>($email);
</span></span><span style="display:flex;"><span> $avatarimgurl <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;https://&#39;</span><span style="color:#f92672">.</span>$a<span style="color:#f92672">.</span><span style="color:#e6db74">&#39;/&#39;</span><span style="color:#f92672">.</span>$email<span style="color:#f92672">.</span><span style="color:#e6db74">&#39;?&#39;</span>;
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">return</span> $avatarimgurl;
</span></span><span style="display:flex;"><span> }
</span></span><span style="display:flex;"><span>}
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-php" data-lang="php"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">function</span> <span style="color:#000">Authorimg</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">$email</span><span style="color:#000;font-weight:bold">)</span>
</span></span><span style="display:flex;"><span><span style="color:#000;font-weight:bold">{</span>
</span></span><span style="display:flex;"><span> <span style="color:#000">$a</span><span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#4e9a06">&#39;cravatar.cn/avatar&#39;</span><span style="color:#000;font-weight:bold">;</span><span style="color:#8f5902;font-style:italic">//gravatar头像源
</span></span></span><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"></span> <span style="color:#000">$b</span><span style="color:#ce5c00;font-weight:bold">=</span><span style="color:#000">str_replace</span><span style="color:#000;font-weight:bold">(</span><span style="color:#4e9a06">&#39;@qq.com&#39;</span><span style="color:#000;font-weight:bold">,</span><span style="color:#4e9a06">&#39;&#39;</span><span style="color:#000;font-weight:bold">,</span><span style="color:#000">$email</span><span style="color:#000;font-weight:bold">);</span>
</span></span><span style="display:flex;"><span> <span style="color:#204a87;font-weight:bold">if</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">stristr</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">$email</span><span style="color:#000;font-weight:bold">,</span><span style="color:#4e9a06">&#39;@qq.com&#39;</span><span style="color:#000;font-weight:bold">)</span><span style="color:#ce5c00;font-weight:bold">&amp;&amp;</span><span style="color:#000">is_numeric</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">$b</span><span style="color:#000;font-weight:bold">)</span><span style="color:#ce5c00;font-weight:bold">&amp;&amp;</span><span style="color:#000">strlen</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">$b</span><span style="color:#000;font-weight:bold">)</span><span style="color:#ce5c00;font-weight:bold">&lt;</span><span style="color:#0000cf;font-weight:bold">11</span><span style="color:#ce5c00;font-weight:bold">&amp;&amp;</span><span style="color:#000">strlen</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">$b</span><span style="color:#000;font-weight:bold">)</span><span style="color:#ce5c00;font-weight:bold">&gt;</span><span style="color:#0000cf;font-weight:bold">4</span><span style="color:#000;font-weight:bold">){</span>
</span></span><span style="display:flex;"><span> <span style="color:#000">$address</span> <span style="color:#ce5c00;font-weight:bold">=</span> <span style="color:#000">strtolower</span><span style="color:#000;font-weight:bold">(</span> <span style="color:#000">trim</span><span style="color:#000;font-weight:bold">(</span> <span style="color:#000">$email</span> <span style="color:#000;font-weight:bold">)</span> <span style="color:#000;font-weight:bold">);</span>
</span></span><span style="display:flex;"><span> <span style="color:#000">$hash</span> <span style="color:#ce5c00;font-weight:bold">=</span> <span style="color:#000">md5</span><span style="color:#000;font-weight:bold">(</span> <span style="color:#000">$address</span> <span style="color:#000;font-weight:bold">);</span>
</span></span><span style="display:flex;"><span> <span style="color:#000">$qqimgurl</span> <span style="color:#ce5c00;font-weight:bold">=</span> <span style="color:#4e9a06">&#39;https://cravatar.cn/avatar/&#39;</span> <span style="color:#ce5c00;font-weight:bold">.</span> <span style="color:#000">$hash</span><span style="color:#000;font-weight:bold">;</span>
</span></span><span style="display:flex;"><span> <span style="color:#204a87;font-weight:bold">return</span> <span style="color:#000">$qqimgurl</span><span style="color:#000;font-weight:bold">;</span>
</span></span><span style="display:flex;"><span> <span style="color:#000;font-weight:bold">}</span><span style="color:#204a87;font-weight:bold">else</span><span style="color:#000;font-weight:bold">{</span>
</span></span><span style="display:flex;"><span> <span style="color:#000">$email</span><span style="color:#ce5c00;font-weight:bold">=</span> <span style="color:#000">md5</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">$email</span><span style="color:#000;font-weight:bold">);</span>
</span></span><span style="display:flex;"><span> <span style="color:#000">$avatarimgurl</span> <span style="color:#ce5c00;font-weight:bold">=</span> <span style="color:#4e9a06">&#39;https://&#39;</span><span style="color:#ce5c00;font-weight:bold">.</span><span style="color:#000">$a</span><span style="color:#ce5c00;font-weight:bold">.</span><span style="color:#4e9a06">&#39;/&#39;</span><span style="color:#ce5c00;font-weight:bold">.</span><span style="color:#000">$email</span><span style="color:#ce5c00;font-weight:bold">.</span><span style="color:#4e9a06">&#39;?&#39;</span><span style="color:#000;font-weight:bold">;</span>
</span></span><span style="display:flex;"><span> <span style="color:#204a87;font-weight:bold">return</span> <span style="color:#000">$avatarimgurl</span><span style="color:#000;font-weight:bold">;</span>
</span></span><span style="display:flex;"><span> <span style="color:#000;font-weight:bold">}</span>
</span></span><span style="display:flex;"><span><span style="color:#000;font-weight:bold">}</span>
</span></span></code></pre></div><p>这样只需要在前端引用一下就好了</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-php" data-lang="php"><span style="display:flex;"><span><span style="color:#f92672">&lt;?</span><span style="color:#a6e22e">php</span> <span style="color:#a6e22e">Authorimg</span>($comments<span style="color:#f92672">-&gt;</span><span style="color:#a6e22e">mail</span>); <span style="color:#75715e">?&gt;</span><span style="color:#960050;background-color:#1e0010">
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-php" data-lang="php"><span style="display:flex;"><span><span style="color:#ce5c00;font-weight:bold">&lt;?</span><span style="color:#000">php</span> <span style="color:#000">Authorimg</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">$comments</span><span style="color:#ce5c00;font-weight:bold">-&gt;</span><span style="color:#c4a000">mail</span><span style="color:#000;font-weight:bold">);</span> <span style="color:#8f5902;font-style:italic">?&gt;</span><span style="color:#a40000">
</span></span></span></code></pre></div><p>这样QQ用户头像加密功能,就实现了</p>
<p>
<img data-lazy-src="/pics/2022/08/2139068168.png" alt="" class="lazyload"></p>
@@ -192,24 +192,24 @@ https://cloud.usj.cc/d/Onedrive/%E4%BB%A3%E7%A0%81/feature.php</a></p>
<p>然后进入你的主题文件,找到 /libs/feature.php文件直接覆盖替换即可</p>
<h2 id="twitter主题用户">Twitter主题用户</h2>
<p>如果你是Twitter用户,直接在主题目录的function.php的第47行的位置将 Yoniu:取Gravatar头像 部分的代码替换到如下代码</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-php" data-lang="php"><span style="display:flex;"><span><span style="color:#75715e">//Yoniu:取Gravatar头像
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#66d9ef">function</span> <span style="color:#a6e22e">getGravatar</span>($email, $s <span style="color:#f92672">=</span> <span style="color:#ae81ff">40</span>, $d <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;mm&#39;</span>, $g <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;g&#39;</span>) {
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span>(<span style="color:#a6e22e">preg_match</span>(<span style="color:#e6db74">&#39;|^[1-9]\d{4,11}@qq\.com$|i&#39;</span>,$email)){
</span></span><span style="display:flex;"><span> $address <span style="color:#f92672">=</span> <span style="color:#a6e22e">strtolower</span>( <span style="color:#a6e22e">trim</span>( $email ) );
</span></span><span style="display:flex;"><span> $hash <span style="color:#f92672">=</span> <span style="color:#a6e22e">md5</span>( $address );
</span></span><span style="display:flex;"><span> $qqimgurl <span style="color:#f92672">=</span> <span style="color:#e6db74">&#39;https://cravatar.cn/avatar/&#39;</span> <span style="color:#f92672">.</span> $hash;
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">return</span> $qqimgurl;
</span></span><span style="display:flex;"><span> }<span style="color:#66d9ef">else</span>{
</span></span><span style="display:flex;"><span> $hash <span style="color:#f92672">=</span> <span style="color:#a6e22e">md5</span>($email);
</span></span><span style="display:flex;"><span> $option <span style="color:#f92672">=</span> <span style="color:#a6e22e">Typecho_Widget</span><span style="color:#f92672">::</span><span style="color:#a6e22e">widget</span>(<span style="color:#e6db74">&#39;Widget_Options&#39;</span>);
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">if</span>($option<span style="color:#f92672">-&gt;</span><span style="color:#a6e22e">gravatarURL</span>){
</span></span><span style="display:flex;"><span> $avatar <span style="color:#f92672">=</span> $option<span style="color:#f92672">-&gt;</span><span style="color:#a6e22e">gravatarURL</span><span style="color:#f92672">.</span><span style="color:#e6db74">&#34;/</span><span style="color:#e6db74">$hash</span><span style="color:#e6db74">?s=&amp;d=</span><span style="color:#e6db74">$d</span><span style="color:#e6db74">&amp;r=</span><span style="color:#e6db74">$g</span><span style="color:#e6db74">&#34;</span>;
</span></span><span style="display:flex;"><span> }<span style="color:#66d9ef">else</span>{
</span></span><span style="display:flex;"><span> $avatar <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;//gravatar.com/avatar/</span><span style="color:#e6db74">$hash</span><span style="color:#e6db74">?s=&amp;d=</span><span style="color:#e6db74">$d</span><span style="color:#e6db74">&amp;r=</span><span style="color:#e6db74">$g</span><span style="color:#e6db74">&#34;</span>;
</span></span><span style="display:flex;"><span> }
</span></span><span style="display:flex;"><span> <span style="color:#66d9ef">return</span> $avatar;
</span></span><span style="display:flex;"><span> }
</span></span><span style="display:flex;"><span>}
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-php" data-lang="php"><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic">//Yoniu:取Gravatar头像
</span></span></span><span style="display:flex;"><span><span style="color:#8f5902;font-style:italic"></span><span style="color:#204a87;font-weight:bold">function</span> <span style="color:#000">getGravatar</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">$email</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">$s</span> <span style="color:#ce5c00;font-weight:bold">=</span> <span style="color:#0000cf;font-weight:bold">40</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">$d</span> <span style="color:#ce5c00;font-weight:bold">=</span> <span style="color:#4e9a06">&#39;mm&#39;</span><span style="color:#000;font-weight:bold">,</span> <span style="color:#000">$g</span> <span style="color:#ce5c00;font-weight:bold">=</span> <span style="color:#4e9a06">&#39;g&#39;</span><span style="color:#000;font-weight:bold">)</span> <span style="color:#000;font-weight:bold">{</span>
</span></span><span style="display:flex;"><span> <span style="color:#204a87;font-weight:bold">if</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">preg_match</span><span style="color:#000;font-weight:bold">(</span><span style="color:#4e9a06">&#39;|^[1-9]\d{4,11}@qq\.com$|i&#39;</span><span style="color:#000;font-weight:bold">,</span><span style="color:#000">$email</span><span style="color:#000;font-weight:bold">)){</span>
</span></span><span style="display:flex;"><span> <span style="color:#000">$address</span> <span style="color:#ce5c00;font-weight:bold">=</span> <span style="color:#000">strtolower</span><span style="color:#000;font-weight:bold">(</span> <span style="color:#000">trim</span><span style="color:#000;font-weight:bold">(</span> <span style="color:#000">$email</span> <span style="color:#000;font-weight:bold">)</span> <span style="color:#000;font-weight:bold">);</span>
</span></span><span style="display:flex;"><span> <span style="color:#000">$hash</span> <span style="color:#ce5c00;font-weight:bold">=</span> <span style="color:#000">md5</span><span style="color:#000;font-weight:bold">(</span> <span style="color:#000">$address</span> <span style="color:#000;font-weight:bold">);</span>
</span></span><span style="display:flex;"><span> <span style="color:#000">$qqimgurl</span> <span style="color:#ce5c00;font-weight:bold">=</span> <span style="color:#4e9a06">&#39;https://cravatar.cn/avatar/&#39;</span> <span style="color:#ce5c00;font-weight:bold">.</span> <span style="color:#000">$hash</span><span style="color:#000;font-weight:bold">;</span>
</span></span><span style="display:flex;"><span> <span style="color:#204a87;font-weight:bold">return</span> <span style="color:#000">$qqimgurl</span><span style="color:#000;font-weight:bold">;</span>
</span></span><span style="display:flex;"><span> <span style="color:#000;font-weight:bold">}</span><span style="color:#204a87;font-weight:bold">else</span><span style="color:#000;font-weight:bold">{</span>
</span></span><span style="display:flex;"><span> <span style="color:#000">$hash</span> <span style="color:#ce5c00;font-weight:bold">=</span> <span style="color:#000">md5</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">$email</span><span style="color:#000;font-weight:bold">);</span>
</span></span><span style="display:flex;"><span> <span style="color:#000">$option</span> <span style="color:#ce5c00;font-weight:bold">=</span> <span style="color:#000">Typecho_Widget</span><span style="color:#ce5c00;font-weight:bold">::</span><span style="color:#c4a000">widget</span><span style="color:#000;font-weight:bold">(</span><span style="color:#4e9a06">&#39;Widget_Options&#39;</span><span style="color:#000;font-weight:bold">);</span>
</span></span><span style="display:flex;"><span> <span style="color:#204a87;font-weight:bold">if</span><span style="color:#000;font-weight:bold">(</span><span style="color:#000">$option</span><span style="color:#ce5c00;font-weight:bold">-&gt;</span><span style="color:#c4a000">gravatarURL</span><span style="color:#000;font-weight:bold">){</span>
</span></span><span style="display:flex;"><span> <span style="color:#000">$avatar</span> <span style="color:#ce5c00;font-weight:bold">=</span> <span style="color:#000">$option</span><span style="color:#ce5c00;font-weight:bold">-&gt;</span><span style="color:#c4a000">gravatarURL</span><span style="color:#ce5c00;font-weight:bold">.</span><span style="color:#4e9a06">&#34;/</span><span style="color:#4e9a06">$hash</span><span style="color:#4e9a06">?s=&amp;d=</span><span style="color:#4e9a06">$d</span><span style="color:#4e9a06">&amp;r=</span><span style="color:#4e9a06">$g</span><span style="color:#4e9a06">&#34;</span><span style="color:#000;font-weight:bold">;</span>
</span></span><span style="display:flex;"><span> <span style="color:#000;font-weight:bold">}</span><span style="color:#204a87;font-weight:bold">else</span><span style="color:#000;font-weight:bold">{</span>
</span></span><span style="display:flex;"><span> <span style="color:#000">$avatar</span> <span style="color:#ce5c00;font-weight:bold">=</span> <span style="color:#4e9a06">&#34;//gravatar.com/avatar/</span><span style="color:#4e9a06">$hash</span><span style="color:#4e9a06">?s=&amp;d=</span><span style="color:#4e9a06">$d</span><span style="color:#4e9a06">&amp;r=</span><span style="color:#4e9a06">$g</span><span style="color:#4e9a06">&#34;</span><span style="color:#000;font-weight:bold">;</span>
</span></span><span style="display:flex;"><span> <span style="color:#000;font-weight:bold">}</span>
</span></span><span style="display:flex;"><span> <span style="color:#204a87;font-weight:bold">return</span> <span style="color:#000">$avatar</span><span style="color:#000;font-weight:bold">;</span>
</span></span><span style="display:flex;"><span> <span style="color:#000;font-weight:bold">}</span>
</span></span><span style="display:flex;"><span><span style="color:#000;font-weight:bold">}</span>
</span></span></code></pre></div><p>这样就可以了</p>
</div>