如何在PHP中对此进行清理,以便从中获取子字符串不会将其转换为非字符串?
// Returns b"—¡ breaks my c" which is not a string
dump(substr('this breaks my code', 7, 14));
我正在使用Laravel,所以如果在某个地方有Laitvel的清理功能,我可以使用它。
答案 0 :(得分:3)
substr()
在字节级别上运行,是C编程语言的遗产。如果(确保是这种情况!)你使用UTF-8作为编码,一个符号可以占用多个字节。在这种情况下,您应该安装mbstring扩展名并改为使用mb_substr()
。
答案 1 :(得分:1)
而不是substr
尝试使用mb_substr
substr不是为多字节字符串设计的