如何在Bootstrap Tooltip的Title属性中显示PHP变量,并以语言名称而非语言代码展示
解决Bootstrap Tooltip结合PHP变量的两个问题
嘿,我来帮你搞定这两个Bootstrap Tooltip和PHP结合的问题!咱们一个个来拆解:
1. 在Tooltip的title属性中显示PHP变量
这个其实超简单,你已经在代码里拿到了对应的PHP变量,只要直接把变量嵌入到title属性的PHP输出标签里就行——就像你在<span>标签内容里输出变量的方式一样。
2. 显示语言名称而非语言代码
结合你定义的$alllangues数组,咱们只需要把title属性的值替换成语言名称对应的$rLanguage变量就可以了。修改后的循环代码如下:
<?php foreach ($alllangues as $rKey => $rLanguage) { if ($rUser["lang"] == $rKey) { ?> <span data-bs-toggle="tooltip" data-bs-placement="left" title="<?=$rLanguage?>"><?=$rLanguage?></span> <?php } } ?>
这样Tooltip的title就会显示French、Spanish这类语言名称,而不是fr、es这种代码啦。
关于你尝试的echo写法失效的原因
你之前用echo的时候踩了两个小坑:
- 引号嵌套冲突:
title='{$alllangues[$rUser["lang"]]}'里的双引号["lang"]和外层echo的双引号会发生解析冲突,PHP会报错; - 标签闭合错误:你把本该闭合的
</span>写成了</form>,标签结构混乱自然会导致Tooltip无法正常工作。
如果一定要用echo写法,你可以调整引号的使用(比如把数组索引的双引号改成单引号),同时正确闭合标签,示例如下:
<?php echo "<span data-bs-toggle='tooltip' data-bs-placement='left' title='{$alllangues[$rUser['lang']]}'>{$alllangues[$rUser['lang']]}</span>";?>
不过还是推荐你最后尝试的那种不使用echo的写法,代码更清晰,不容易出现引号和标签的问题:
<span data-bs-toggle="tooltip" data-bs-placement="left" title="<?=$alllangues[$rUser["lang"]]?>"><?=$alllangues[$rUser["lang"]]?></span>
内容的提问来源于stack exchange,提问作者rocma brutus
相关产品推荐
相关产品推荐

