0
if ($cboxes = $dbi->query($vbox_result, 0)) {
foreach ($cboxes as $video) {
        $title = stripslashes ($video["title"]); 
        $wordWrappedTitle = wordwrap($title, 25, "\n");
        $full_title = stripslashes(str_replace("\"", "",$video["title"])); 
        $url =  $site_url.'video/'.$video["id"].'/'.seo_clean_url($full_title) .'/';


echo '
<div id="video-'.$video["id"].'" class="video">
<div class="thumb"> 
    <a class="clip-link" data-id="'.$video["id"].'" title="'.$full_title.'"  href="'.$url.'">
        <span class="clip">
            <img src="'.$video["thumb"].'" alt="'.$full_title.'" /> <span class="vertical-align"></span>
        </span>

        <span class="overlay"></span>
    </a>
     <span class="timer">'.sec2hms($video["duration"]).'</span>
    </div>  

这是更新的代码。那会奏效吗?

我的 [标题] 太长了。我只需要知道在哪里添加自动换行。我想我确实需要更多的练习。我想试一试。

4

1 回答 1

0

你只需要练习你的程序编写和语法结构。我假设你想要自动换行 $title,所以我现在只显示它,你写的......

$title = stripslashes ($video["title"],.wordwrap , 25, '<br />',    true); 

现在,由于 stripslashes 接受一个参数,因此输入多个参数超出其要求是没有意义的;这是一个巨大的指标,表明这是导致错误消息的原因。只需按照您在上面所做的模式...

stripslashes($box_title)

另外,请记住,在 php 中的 '.' 指示器表示连接,因此当您在某些关键字前面添加它时,它表示“附加到字符串”。所以有...

$title = stripslashes ($video["title"],.wordwrap , 25, '<br />',    true); 
                                       ^

没有意义,因为它之前的东西只是一个逗号,而不是一个字符串......所以它不能附加到任何东西。

你想要做的是 wordwrap $title 在它被stripslashed之后对吗?一步一步,最好的编码方式...

第一步,stripslash那个吸盘......

$title = stripslashes($video["title"]);

请注意,我只是插入了一个参数,它只需要先去掉斜线。

第二步,自动换行,当然要有正确的论据。Wordwrap 有很多版本,但最简单的是 (text, maxwidth, separator) 其中分隔符通常是 \n 或 \n

$wordWrappedTitle = wordwrap($title, 25, "\n");

我觉得您的代码的另一部分使用 $title 变量作为视频上的 $title 但现在您的文字包装结果在 $wordWrappedTitle 变量内,如果您收到错误或没有得到您期望的结果,请尝试使用该概念来弄清楚如何修复它(只需替换一些变量名就可以了)。

编辑:

你为什么会有...

<h2 class="title"><a href="'.$url.'"  title="'.$full_title.'">'.$title.'</a></h2>
                                                                 ^^^^

当您想使用 $wordWrappedTitle 作为您的标题时,现在是自动换行的。在这里,您仍然使用 $title,但它只是被删除了。$wordWrappedTitle 是文字包装的。所以我建议在那里使用它而不是 $title

于 2013-07-13T07:39:02.493 回答