如何正确显示使用substr处理的字符串

时间:2013-09-05 16:15:23

标签: php substr

    $strlength = 10;
    $strshow = 5;
$fb_detail="My Live K3besdfsfsfdafasf";
    if (strlen($fb_detail) > $strlength)
        $feedback_detail_str = substr($fb_detail, 0[, $strlength]) . '...';
    else $feedback_detail_str = $fb_detail;

我遵循了假设在PHP codex here上的确切格式,但结果永远无法正确生成(它只显示'...'(不包括''))。任何人都可以告诉我实际问题是什么?

谢谢!

2 个答案:

答案 0 :(得分:3)

  

<强> string substr ( string $string , int $start [, int $length ] )

文档中的括号表示该参数是可选的。您不必将其包含在代码中。

删除这些方括号,您的代码应如下所示:

$feedback_detail_str = substr($fb_detail, 0, $strlength) . '...';

if-else块与花括号分开也是一个好主意。它使您的代码更具可读性,并具有许多其他优点。

$strlength = 10;
$strshow = 5;
$fb_detail="My Live K3besdfsfsfdafasf";

if (strlen($fb_detail) > $strlength) {
    $feedback_detail_str = substr($fb_detail, 0, $strlength) . '...';
} else {
    $feedback_detail_str = $fb_detail;
}

echo $feedback_detail_str;

输出:

My Live K3...

答案 1 :(得分:1)

如果在函数定义之后引用示例,那总是好的。在substr()的情况下,首先是字符串,然后是start(int)和length(int)参数。

试试这个:

$strlength = 10;
$strshow = 5;

$fb_detail="My Live K3besdfsfsfdafasf";
if (strlen($fb_detail) > $strlength)
    $feedback_detail_str = substr($fb_detail, 0, $strlength) . '...';
else $feedback_detail_str = $fb_detail;