Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
不确定是否有一个 php 函数可以帮助确定这一点。
我有一些带有可变字符的字符串。我的问题是字符串有多长,而不是有多少个字符。
$str1 = '123456789'; $str2 = 'akIOuNBGH';
两者都有 9 个字符。但是,由于字符更宽,第二个在浏览器中稍长。
最终,我想在两个字符串之后附加“......”一系列点,但由于第二个和第一个的宽度不同,因此不均匀。
关于如何确定字符串宽度的任何很酷的想法或方法?也许,如果我知道宽度值,我可以适当地对附加信息进行编码。
宽度取决于您在客户端使用的字体类型来表示这些字符串。对于某些字体(不知道具体是哪一种,但我认为是 Courier 为例),宽度与字符数成正比,所以简单的字符串填充就可以了。对于其他字体,它将不起作用,并且取决于浏览器如何呈现它。如果您试图在服务器端对齐您的字符串,那么您正在以最糟糕的方式进行操作。尝试使用 CSS 对齐它们。
正如vucetica提到的等宽字体,Courier或者Courier New可以帮助您归档字符之间的相等间距。
Courier
Courier New
此外,如果您想确保所有字符串的长度相同,例如 32 个字符,您可以使用sprintf方法
sprintf
$string = '1234567890'; $string = sprintf("%'.-32s", $string); var_dump($string); //string(32) "1234567890......................"
更多语法示例可以在 PERL文档中找到,其中 90% 可以在 php 中使用