Php substr()不工作

Php substr()不工作,php,string,Php,String,但我什么也没得到。当我删除substr()时,它会很好地显示整个文本 似乎您正在尝试创建摘要文本 请尝试使用此功能 <?php mysql_connect("localhost", "root", "") or die(mysql_error()); mysql_select_db("get_a_class"); $rightHeader = mysql_query("SELECT description FROM scalena_news ORDER BY date DESC"); ?&

但我什么也没得到。当我删除
substr()
时,它会很好地显示整个文本

似乎您正在尝试创建摘要文本

请尝试使用此功能

<?php
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("get_a_class");
$rightHeader = mysql_query("SELECT description FROM scalena_news ORDER BY date DESC");
?>

<div id="slider">
    <ul>
    <?php while($row = mysql_fetch_array($rightHeader)){?>
        <li>
             <span class="Text-3">
                <?php echo substr($row['description'],0,50); ?>
             </span>
        </li> 
    <?php } ?>
    </ul>
</div>

似乎您正在尝试创建摘要文本

请尝试使用此功能

<?php
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("get_a_class");
$rightHeader = mysql_query("SELECT description FROM scalena_news ORDER BY date DESC");
?>

<div id="slider">
    <ul>
    <?php while($row = mysql_fetch_array($rightHeader)){?>
        <li>
             <span class="Text-3">
                <?php echo substr($row['description'],0,50); ?>
             </span>
        </li> 
    <?php } ?>
    </ul>
</div>
这个怎么样

function create_summary($cont,$num){


        $text = strip_tags($cont);

        if(strlen($text) > $num){

            $endpos = strpos($text,' ',$num);
            $dots = '...';
            if(!$endpos){
                $endpos = strlen($text);
                $dots = '';
            }

        }else{
            $endpos = strlen($text);
                        $dots ='';
        }                   
        return substr($text,0,$endpos).$dots;
    }

这个怎么样

function create_summary($cont,$num){


        $text = strip_tags($cont);

        if(strlen($text) > $num){

            $endpos = strpos($text,' ',$num);
            $dots = '...';
            if(!$endpos){
                $endpos = strlen($text);
                $dots = '';
            }

        }else{
            $endpos = strlen($text);
                        $dots ='';
        }                   
        return substr($text,0,$endpos).$dots;
    }

要尝试的内容:

  <div id="slider">
  <ul>
  <?php
  while($row = mysql_fetch_array($rightHeader)){
  echo '<li><span class="Text-3">'.htmlentities(substr($row['description'],0,50)).'</span></li>';
  } 
  ?>
  </ul>
  </div>
尝试一下:

  <div id="slider">
  <ul>
  <?php
  while($row = mysql_fetch_array($rightHeader)){
  echo '<li><span class="Text-3">'.htmlentities(substr($row['description'],0,50)).'</span></li>';
  } 
  ?>
  </ul>
  </div>

尝试从代码中删除所有CSS,然后再试一次,输出可能正在生成,但不知何故被隐藏


您可以通过显示页面的源代码来验证,并查看您的文本是否确实存在。

尝试从代码中删除所有CSS,然后再试一次,输出可能正在生成,但以某种方式被隐藏

您可以通过显示页面的来源来验证,并查看您的文本是否确实存在。

试试看

... echo htmlentities(substr(trim($row['description']), 0, 50)); ...
试一试



如果“description”包含html字符,您可能看不到字符串,我的意思是,如果您使用tinymce之类的编辑器,您可以获得一些html代码,您不尝试从文本中获取250个字符,对于任何问题,您都可以看到此页
$row['description']
的内容是什么?到目前为止,代码看起来不错。如果它的数据在开始时包含大量空白,它也不会显示。在
$row['description']
周围放置一个
trim()
,以确保该行已被删除。如果可能,能否向我们提供
var_转储($row['description'])确定不同的方法。在没有html/css的情况下尝试一下。(可能是糟糕的样式实际上隐藏了文本)如果“description”包含html字符,你可能看不到字符串,我的意思是,如果你使用tinymce这样的编辑器,你可以有一些html代码,你不试着从文本中获取250个字符吗?如果有任何问题,你可以看到这个页面,
$row['description']
的内容是什么?到目前为止,代码看起来不错。如果它的数据在开始时包含大量空白,它也不会显示。在
$row['description']
周围放置一个
trim()
,以确保该行已被删除。如果可能,能否向我们提供
var_转储($row['description'])确定不同的方法。在没有html/css的情况下尝试一下。(可能是糟糕的样式实际上隐藏了文本)对我来说理解这段代码似乎很复杂:(因为我不是很专业…那么你能解释一下lil这段代码是怎么做的吗?$cont是你想要总结的文本,$num是限制文本长度的数字…..在函数内部,它首先会去掉$cont中的所有html标记。然后它会检查$cont长度是否大于限制$num。如果是这样,它会减少。)将文本设置为$num长度,并在文本末尾添加“…”。如果文本较短,它将返回原始文本,而不包含“…”。您所要做的就是将此函数粘贴到php文件中,并echo create_summary($row['description',50)这将为您提供所需的信息……对我来说,理解此代码似乎很复杂:(因为我不是很专业…那么你能解释一下lil这段代码是怎么做的吗?$cont是你想要总结的文本,$num是限制文本长度的数字…..在函数内部,它首先会去掉$cont中的所有html标记。然后它会检查$cont长度是否大于限制$num。如果是这样,它会减少。)将文本设置为$num长度,并在文本末尾添加“…”。如果文本较短,它将返回原始文本,而不包含“…”。您所要做的就是将此函数粘贴到php文件中,并echo create_summary($row['description',50)这会给你你想要的东西…@Atif查看修订版。它不会出现mannn!!但是它可能是什么问题:(为什么不它只返回所需的代码:(就像Leigh说的那样?我再说一遍:当我不使用substr函数时,它会显示所有文本,但当我应用此函数时,它甚至不会显示一个单词
mysql\u fetch\u assoc($rightHeader)
只返回结果集中的一行。因此,您的foreach循环实际上不起作用。@Atif检查修订版。它没有显示mannn!!但它可能是什么问题:(为什么不只返回所需的代码:(如Leigh所说,怎么样?我再说一遍:当我不使用substr函数时,它会显示所有文本,但当我应用此函数时,它甚至不会显示一个单词
mysql\u fetch\u assoc($rightHeader)
只从结果集中返回一行。因此,您的foreach循环实际上不起作用。