我希望其中一位大师可以提供帮助(请!)
我希望此查询中的文本(link_text)缩短为28个字符?
$sources_html .= '<a href="'.$row_sources["url"].'">'.$row_sources["link_text"].'</a>';
COMPLETE QUERY
$sql = "SELECT * FROM sources WHERE CatID='$id' order by source_id";
$result4=mysqli_query($db,$sql) or die(mysqli_error($db));
$sources_html='';
while($row_sources = mysqli_fetch_array($result4)){
$sources_html .= '<a
href="'.$row_sources["url"].'">'.$row_sources["link_text"].'</a>';
}
<? if($sources_html){echo "$sources_html";}?>
答案 0 :(得分:0)
您可以使用以下功能之一 substr 或 mb_substr
对于每个char只有一个字节的文本,您可以使用
$linkText28 = substr($row_sources["link_text"], 0, 28);
用于多字节字符串而不是
$linkText28 = mb_substr($row_sources["link_text"], 0, 28);
详见:
答案 1 :(得分:0)
在将链接附加到$sources_html
之前,我会查找并编辑该值,如下所示:
if(strlen($row_sources["link_text"]>28)){
$row_sources["link_text"] = substr($row_sources["link_text"], 0, 25).'...';
}
我正在使用 25 ,因为我用点(...)替换最后3个字符,以便更好地理解字符串被切碎,直到你......:P
如果您使用UTF-8字符,则可能需要mb_substring
。
答案 2 :(得分:0)
$ sources_html。=''。$ row_sources [“link_text”] = substr($ row_sources [“link_text”],0,25).'...'。'';