如何使用php在每50个单词后插入一个字符串

如何使用php在每50个单词后插入一个字符串,php,Php,我必须在每52个单词后插入一个标记,这样它就会显示一个换行符,否则段落会继续进行,并不断增加其宽度,而不是高度。我想还有其他更好的办法,请告诉我。谢谢 我的代码 <?php $str = "Hello world. My name is Yash Mathur and I am a student. I need help in this question as this is getting on my nerves, so I came to st

我必须在每52个单词后插入一个

标记,这样它就会显示一个换行符,否则段落会继续进行,并不断增加其宽度,而不是高度。我想还有其他更好的办法,请告诉我。谢谢

我的代码

<?php

$str = "Hello world. My name is Yash Mathur and I am a student. 
        I need help in this question as this is getting on my nerves, so I came to 
        stackoverflow.com 
        to seek for an answer. Please help me insert a line break after every 52 characters. 
        Thanks in advance!";
$len = strlen($str);
if ($len > 52) {
    $str = substr($str, 0, 52) . "<br>";
}
echo $str;
?>


我需要以某种方式将其放入一个循环中,以便每隔52个字符插入

标记

尝试使用以下代码:

$original = "some long string";
$parts = str_split($original, 50);
$final = implode("<br>", $parts);
$original=“一些长字符串”;
$parts=str_分割(原件,50美元);
$final=内爆(“
”,$parts);
我想你最终想要达到的只是一个好看的段落,它的行长不会太长,以至于很难阅读。我认为这是一个表面问题,可以在应用程序的表示层(即样式表)中更好地解决

在属于段落的样式中,只需添加一个“width:250px”(250px是任意值)即可将文本约束到由段落宽度定义的自包装框中

我不会在PHP中这样做,除非有一个真正有效的理由,因为如果您需要更改段落的外观,那么您必须深入研究PHP代码。现在,这看起来似乎微不足道,但几个月后,您可能甚至都不记得当初编写过这样的代码。这充其量只会导致一点小麻烦,并且会浪费大量时间搜索这个格式化函数


请重新考虑你的策略。

你可以试试这样的方法。但是如果你在一个单词的中间分割一条线,你不会看到一个丑陋的输出。尝试改用CSS:)


这应该可以做到:

$string='Lorem ipsum...';
$parts=explode(' ',$string);
$result='';
foreach ($parts as $key=>$part)
{
  $result.=$part.' ';
  if ($key%50==49)
    $result.='<br>';
}
$string='Lorem ipsum…';
$parts=分解(“”,$string);
$result='';
foreach($key=>$part的部分)
{
$result.=$part.';
如果($key%50==49)
$result.='
'; }

不过更好的方法是使用

如何打印?如果浏览器不自动换行,这就是CSS问题。即使是列表项也应该自动换行。你能做一个JSFIDLE或显示li的CSS吗?你有没有试过在你的文本容器上设置
空白:normal
?我已经得到了答案…感谢你的帮助和DenisPotuYou a right@Juhana,CSS是关键的解决方案,这对我来说很有用。非常感谢!这将每隔50个字符插入“
”而不是单词非常感谢!!它工作得很好!但有一个问题…它会切掉单词,而不是在单词前留下一行begins@Ivan,请参阅要求:“我需要以某种方式将其放入一个循环中,以便每隔52个字符插入
标记。”这听起来像一个计划。投赞成票。是的,谢谢你的解决方案。我一直在将
  • 标记的宽度设置为%,因此可能是由%引起的。将大小设置为%使其相对于该元素的容器。这没什么问题,但是您必须以某种方式指定容器的宽度,这样才能工作。如果容器和容器的容器(等等)没有指定的大小(在您的情况下为宽度),浏览器会一直向上查看树,直到它最终到达文档根元素并将其用作度量的基础。另一方面,使用px会给出一个绝对大小,如果你喜欢固定(非弹性)布局,这可能正是你想要的。哈哈哈+1对于创造性的$str值:-)哈哈thnx:P我不建议使用此代码,CSS是一种方法:)是的……CSS做到了。无论如何谢谢!!:)
    $string='Lorem ipsum...';
    $parts=explode(' ',$string);
    $result='';
    foreach ($parts as $key=>$part)
    {
      $result.=$part.' ';
      if ($key%50==49)
        $result.='<br>';
    }