当我使用official Google dev website中的此代码时,它将按以下方式呈现登录按钮:
<span id="signinButton">
<span
class="g-signin"
data-callback="signinCallback"
data-clientid="CLIENT_ID"
data-cookiepolicy="single_host_origin"
data-requestvisibleactions="http://schema.org/AddAction"
data-scope="https://www.googleapis.com/auth/plus.login">
</span>
</span>
但是当我尝试通过PHP创建此按钮时,使用简单的echo
命令,它将不会显示任何内容。任何人都知道为什么以及我能做些什么呢?
这是PHP代码:
$html = '';
$html .= '<span id="signinButton">';
$html .= '<span';
$html .= 'class="g-signin"';
$html .= 'data-callback="signinCallback"';
$html .= 'data-clientid="XXXXX"';
$html .= 'data-cookiepolicy="single_host_origin"';
$html .= 'data-requestvisibleactions="http://schema.org/AddAction"';
$html .= 'data-scope="https://www.googleapis.com/auth/plus.login">';
$html .= '</span>';
$html .= '</span>';
echo $html;
这是PHP代码的输出:
<span id="signinButton"><spanclass="g-signin"data-callback="signinCallback"data-clientid="85266228175-pl3302nr5m1ephd64oggies00ec6u224.apps.googleusercontent.com"data-cookiepolicy="single_host_origin"data-requestvisibleactions="http://schema.org/AddAction"data-scope="https://www.googleapis.com/auth/plus.login"></span></span>
答案 0 :(得分:1)
$html = '';
$html .= '<span id="signinButton">';
$html .= '<span ';
$html .= 'class="g-signin" ';
$html .= 'data-callback="signinCallback" ';
$html .= 'data-clientid="XXXXX" ';
$html .= 'data-cookiepolicy="single_host_origin" ';
$html .= 'data-requestvisibleactions="http://schema.org/AddAction" ';
$html .= 'data-scope="https://www.googleapis.com/auth/plus.login">';
$html .= '</span>';
$html .= '</span>';
echo $html;
好像你忘记了这些空间。以上应该有效。
答案 1 :(得分:1)
你把所有东西放在一条线上。您需要在每行中添加空格,如下所示:
$html .= ' class="g-signin"';
(参见“'”和“class”)
否则您的输出将是:
<span id="signinButton"><spanclass="g-signin"data-callback="....
答案 2 :(得分:1)
将$html .= '<span';
更改为$html .= '<span ';
或$html .= 'class="g-signin"';
至$html .= ' class="g-signin"';
<spanclass
但是,您应该为所有这些代码添加空格,因为其余代码已经聚集在一起,这使得在HTML源代码中读取起来更加困难。
$html = '';
$html .= '<span id="signinButton">';
$html .= '<span ';
$html .= 'class="g-signin"';
$html .= ' data-callback="signinCallback"';
$html .= ' data-clientid="XXXXX"';
$html .= ' data-cookiepolicy="single_host_origin"';
$html .= ' data-requestvisibleactions="http://schema.org/AddAction"';
$html .= ' data-scope="https://www.googleapis.com/auth/plus.login">';
$html .= '</span>';
$html .= '</span>';
echo $html;
答案 3 :(得分:1)
当您遇到PHP生成的问题时,应始终检查生成的HTML。在这种情况下,如果您检查了HTML,您可能已经注意到没有空格来分隔您的标记名和属性。
您可以根据需要在字符串中添加空格。例如,前几个实例......
...
$html .= '<span ';
$html .= 'class="g-signin" ';
...
你也可以考虑一种不同的方式,比如在这种情况下将这个HTML放在PHP标签之外。