gpt4 book ai didi

php - 修剪功能不起作用

转载 作者:行者123 更新时间:2023-11-29 12:09:58 25 4
gpt4 key购买 nike

嗨(对不起我的英语xD),

我正在 MySql 中获取数据库的数据,该数据(一对玩家,格式为“玩家 1 - 玩家 2”)。我用 explode 函数按字符 - 剪切了它,因此我得到了“Player 1”和“Player 2”字符串。我尝试使用修剪功能删除开头和结尾的空格,但这不起作用。我怀疑这个问题与其他 - 字符类似,我的键盘的正常 - 不会用爆炸功能分割字符串,我不得不去 PHPMyAdmin并复制一个现有字符串的 - 字符并将其粘贴到第二个爆炸函数参数中,在此之后,爆炸函数即可工作。

我尝试了相同的 - 字符(登录 PHPMyAdmin 复制一个空格并将其粘贴为 trim 函数的第二个参数,但这次不起作用:( )。

还尝试使用 str_replace 函数(无论消除什么间隙)并且不起作用,也尝试使用 preg_replace 函数等...没有任何效果,因为显然数据库中保存的空白与我的键盘不一样,我怀疑问题与字符集或排序规则有关,但我不知道我应该做什么,因为 PHP 的表、链接、字符集和其他内容采用 UTF-8 和 utf8-spanish-ci 排序规则和字符集。

声明:数据的输入是由 xdom (PHP) 从其他站点进行的,不受我控制。

<tbody>
<?php while ($partidos = mysqli_fetch_array($sql)) { ?>
<tr>
<td class="center"><?php echo $partidos['fecha']; ?></td>
<td><?php $participante = explode("₋", $partidos['jugadores']);
$participante1 = trim($participante[0]);
$participante2 = trim($participante[1]);

echo trim($participante1) . "<br>vs<br>" . trim($participante2);
?></td>
<td><?php if ($partidos['estado'] == 0) { ?> En Curso<?php } elseif ($partidos['estado'] == 1) {
if ($partidos['alerta'] == 0) { ?> Terminado<?php } else { ?>Terminado - Error <i
class="fa fa-exclamation-triangle"></i><?php }
} ?></td>
<td><?php if ($partidos['alerta_medica'] == 1) { ?> Si <i class="fa fa-2 fa-medkit"
style="color:#C00;"></i><?php } else { ?> No<?php } ?>
</td>
<?php if ($_SESSION['tipo'] == 1 || $_SESSION['tipo'] == 2) { ?>
<td class="center">
</td>
<?php } ?>
</tr>
<?php } ?>
</tbody>

Screenshot from command line

最佳答案

感谢@Rick James,我发现了这个问题,观察数据库的十六进制响应,我注意到两个空格是x20,但一个是xC2 xA0。在阅读 stackoverflow 的其他帖子时,我发现 xC2 xA0 是一个不间断空格,但修剪功能无法识别它。解决方案是将其指定为函数的第二个参数:

$participante1 = trim($participante[0],"\x20,\xC2,\xA0");
$participante2 = trim($participante[1],"\x20,\xC2,\xA0");

现在空格已正确删除:3

感谢大家帮助解决这个问题:)

关于php - 修剪功能不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30857856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com