0

不确定是否有一个 php 函数可以帮助确定这一点。

我有一些带有可变字符的字符串。我的问题是字符串有多长,而不是有多少个字符。

$str1 = '123456789';
$str2 = 'akIOuNBGH';

两者都有 9 个字符。但是,由于字符更宽,第二个在浏览器中稍长。

最终,我想在两个字符串之后附加“......”一系列点,但由于第二个和第一个的宽度不同,因此不均匀。

关于如何确定字符串宽度的任何很酷的想法或方法?也许,如果我知道宽度值,我可以适当地对附加信息进行编码。

4

2 回答 2

1

宽度取决于您在客户端使用的字体类型来表示这些字符串。对于某些字体(不知道具体是哪一种,但我认为是 Courier 为例),宽度与字符数成正比,所以简单的字符串填充就可以了。对于其他字体,它将不起作用,并且取决于浏览器如何呈现它。如果您试图在服务器端对齐您的字符串,那么您正在以最糟糕的方式进行操作。尝试使用 CSS 对齐它们。

于 2012-01-12T03:46:04.913 回答
0

正如vucetica提到的等宽字体,Courier或者Courier New可以帮助您归档字符之间的相等间距。

此外,如果您想确保所有字符串的长度相同,例如 32 个字符,您可以使用sprintf方法

$string = '1234567890';
$string = sprintf("%'.-32s", $string);
var_dump($string); //string(32) "1234567890......................"

更多语法示例可以在 PERL文档中找到,其中 90% 可以在 php 中使用

于 2012-01-12T04:28:10.947 回答