gpt4 book ai didi

php - 在不使用单字字体的情况下,固定每个

的字符行数,这可能吗?

转载 作者:行者123 更新时间:2023-11-28 13:27:51 28 4
gpt4 key购买 nike

我需要将一大块文本拆分成相同大小的段落,并使用完全相同数量的字符串行以保持它们的统一性,我目前正在使用以下代码使用 php 进行此操作。

        function arrangeText(){
if (have_posts()) : while (have_posts()) : the_post();

$content = strtolower(get_the_content());
$content = trim(strip_tags($content));
$post_len = strlen($content);
$segmentCont = 1;
$auxOffset = 0;
$auxOffset2 = 0;
$limit = 896;
$limitTotal = 0;

while($limitTotal<$post_len){

if($segmentCont==2) {
$limit = 943;
}

$segmentCont++;
$limitTotal = $limitTotal + $limit;
if($limitTotal<$post_len)
{ $auxOffset = strpos($content," ",$limitTotal);}
else
{ $auxOffset = $post_len;}
$post_segment = trim(substr($content,$auxOffset2,$auxOffset-$auxOffset2));
$auxOffset2 = $auxOffset;
echo_segment($post_segment);
}

endwhile;
endif;
}

这确实有效,但即使我计算每个字符,一些字符可能最多占用三个字符空间,所以我的段落有不同的行数,或者最后一行被切成两半,如果我使用 monotypefont 一切顺利, 但我的客户想要一种特定的字体,我一直在尝试各种方法,但没有成功,所以我来找你们大佬们帮忙。我唯一能想到解决这个问题的是一个非常复杂的脚本,用于获取每个字符的宽度,每次回显并将该值添加到计数变量,并执行条件(我猜是在循环内)来检查总数字符的宽度超过了我段落的总宽度,如果在它找到的最后一个“”(空白)之前将它切片(防止代码将单词切成两半),但我不知道这是否可以用 php,js 、jquery 或任何可以在网站上帮助我的东西,我确信有一种简单的方法可以做我在这里尝试的事情,但也许我不够聪明,所以请帮助我 =)。

编辑 1:我的错,等宽字体也无法解决问题,它们在我的 p 标签(溢出:隐藏)下方被剪切和溢出,我虽然在我阅读文本之前它们一直在工作,所以我想即使它们是等宽的,它们的字符大小也不同。

最佳答案

您可以使用此代码来测量字符的宽度并创建一个“字典”。
您可以调整它以返回相对值(假设 w = 1i = 0.5 这样它会更灵活)。

fiddle 在这里:http://jsfiddle.net/Gw4AV/

var chars = ["a", "b", "c", "i", "w"];
var widths = [];
for (var i = 0; i < chars.length; i++)
{
var span = $("<span>").text(chars[i]);
$("body").append(span);
widths.push(span.width());
}
alert(widths);

关于php - 在不使用单字字体的情况下,固定每个 <p> 的字符行数,这可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12927531/

28 4 0
文章推荐: css - Bootstrap 列加或减 gutterwidth
文章推荐: HTML5 <header>
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com