如果小於x不顯示「...」如何使它不顯示小於x個字符的點?
<?php echo substr(stripslashes($row['news_title']), 0, 20). ".."; ?>
我把它表現出大於x如果超過20,但它顯示「...」時,有10個字符。無論如何,我可以讓它不顯示?
任何教程?
謝謝!
如果小於x不顯示「...」如何使它不顯示小於x個字符的點?
<?php echo substr(stripslashes($row['news_title']), 0, 20). ".."; ?>
我把它表現出大於x如果超過20,但它顯示「...」時,有10個字符。無論如何,我可以讓它不顯示?
任何教程?
謝謝!
嘗試像
<?php echo substr(stripslashes($row['news_title']), 0, 20);
if(strlen($row['news_title']) > 20)
echo "..";
?>
這會怎麼做。
<?php echo strlen(stripslashes($row['news_title']))>20 ?substr(stripslashes($row['news_title']), 0, 20)."...":stripslashes($row['news_title']); ?>
對於長度超過20的內容以及前20個字符,這將只顯示「...」......不完全是這個問題所要求的。 – Jeff
@Jeff,Modified。 –
你可以使用CSS tricks,但是這將是代碼做服務器端:
if (strlen($row['news_title']) <= 20) {
echo htmlspecialchars($row['news_title']);
} else {
echo htmlspecialchars(substr($row['news_title'], 0, 20)), '...';
}
注意strlen()
數字節,而不是字符本身;這在開始使用Unicode時很重要,在這種情況下,您可能需要考慮使用mb_strlen()
。
順便說一下,使用stripslashes()
是有點紅旗;如果你的報價出來逃脫,問題出在其他地方,不應該成爲表示層的問題......實際上,你應該使用htmlspecialchars()
代替應該。
嘗試寫自己的子字符串函數: 也可以是財產以後類似這樣的 http://www.sranko.com/nwP3LFit
謝謝你,它的工作!我糾正了「>」,但感謝人! – TrippedStackers
在查看長度前也應該使用'stripslashes' –
@CrayonViolent首先不應該是'stripslashes'。 –