不确定是否有可以帮助确定此问题的php函数。
我有一些带有可变字符的字符串。我的问题是字符串的长度,而不是字符数。
$str1 = '123456789';
$str2 = 'akIOuNBGH';
两者都有9个字符。但是,由于字符较宽,第二个在浏览器中稍长一些。
最终我想在两个琴弦之后追加'.............'一系列点,但由于第二个和第一个不同的宽度,均匀性是关闭的
有关如何确定字符串宽度的任何很酷的想法或方法? 也许,如果我知道宽度值,我可以适当地编码附加信息。
答案 0 :(得分:1)
宽度取决于您在客户端使用的字体类型来表示这些字符串。对于某些字体(不知道究竟哪个字体,但我认为Courier为例),宽度与字符数成正比,因此字符串的简单填充将起作用。对于其他字体,它将无法工作,并将取决于浏览器如何呈现它。如果您尝试在服务器端对齐字符串,那么您将以最糟糕的方式执行此操作。尝试使用CSS对齐它们。
答案 1 :(得分:0)
正如vucetica提到monospaced Courier
或Courier New
这样的字体可以帮助您存档字符之间的相等间距。
此外,如果您想确保所有字符串长度相同,例如32个字符,您可以使用sprintf
方法
$string = '1234567890';
$string = sprintf("%'.-32s", $string);
var_dump($string); //string(32) "1234567890......................"
可以在PERL documentation中找到更多语法示例,其中90%在php中运行