首先打開article_list.php頁面,找到下方代碼部分:
在前面增加下方代碼:
注意:target屬性在這里設(shè)置的是_blank,為了達到模擬用戶看到的界面,我們需要在一個新的窗口中打開預覽的頁面。
修改好之后進入文章管理列表可以看到如下效果:
現(xiàn)在打開article_view.php頁面輸入下方代碼:
以上代碼沒有新的知識點,如果想不起來了可以參考下第六節(jié)和第七節(jié)的內(nèi)容。
打開admin.css頁面增加下方代碼:
現(xiàn)在我們點一下預覽按鈕看看效果。預覽文章之前建議先發(fā)一個正文中帶有換行的文章。
運行之后可以看出在創(chuàng)建時正文中的換行效果全部沒有了。這是因為在文本域中進行換行的時候,換行符是以\n的符號存儲到了數(shù)據(jù)庫,但瀏覽器是不支持\n符號的換行的。這時候我們就需要通過修改字符串的方式在每一個需要換行的地方加上HTML的換行符 <br>。
PHP為我們提供了一個非常方便的函數(shù):nl2br(string,xhtml)
我們把輸出正文的PHP代碼echo $j[content]部分改成如下:
nl2br函數(shù)是在每一個換行符前面插入了HTML的換行符br,除此之外我們還可以用str_replace();函數(shù)來替換換行符,代碼如下:
我們可以通過str_replace();函數(shù)來替換任何字符串,可以通過該方法來實現(xiàn)特殊文字高亮的效果噢!
到這里預覽文章的功能就做好了。
我們再多學幾個字符串函數(shù)。
相信大家在多數(shù)網(wǎng)站中都見到過標題或者摘要過長的時候顯示指定長度的文字,并且超出部分用省略號代替的效果。
傳統(tǒng)的做法是先通過strlen();函數(shù)獲取字符串的長度,然后根據(jù)長度來判斷如果超出長度的話substr_replace();函數(shù)來替換超出指定長度部分的文字為省略號。不過這么去做的話還得去判斷編碼,還得判斷是否是中文等等,反正很麻煩就是了。。。。。。
現(xiàn)在的PHP為了解決這個問題,為我們提供了一個非常方便的函數(shù):mb_strimwidth();
不過該函數(shù)要在我們的PHP環(huán)境支持mb_string的情況下才能用,我們可以通過運行phpinfo();來看看是否支持該方法。也可以到PHP的配置文件php.ini里看看extension=php_mbstring.dll是否是開啟狀態(tài),如果前面有符號就說明是關(guān)閉狀態(tài),需要把符號去掉之后重啟apache才能支持。
注意:PHPnow的情況下配置文件是php-apache2handler.ini噢!
好了,我們到article_list.php頁里找到$j[title]部分,修改成如下代碼:
其中0和30可以理解成起始位置和結(jié)束位置,30位置以后的部分用省略號代替。
運行一下我們的文章列表看看吧!
通過mb_strimwidth函數(shù)我們可以很輕松的完美兼容中英文漢字混合輸入的情況。
第二章講完了!
不過還有第三章噢,第三章我還沒決定是講關(guān)于注冊登錄等的基本用戶體系,還是關(guān)于圖片的處理。因為目前投票人數(shù)很少,而且票數(shù)也基本持平,希望大家在公眾號或官網(wǎng)里多多參與投票。
第三章大約會在1個月之后開始講解,因為作者本人也是個半路出家的人,我需要自己先學的很透徹之后進行二次梳理,才能有頭有尾的把一個階段內(nèi)容講通。
馬上就到圣誕節(jié)了,最后預祝大家圣誕快樂,元旦快樂!春節(jié)快樂就不說了,計劃在春節(jié)前帶著第三章回來!(*^__^*)
(?未完待續(xù),敬請期待)
本文地址:http://likemindfilms.com/news/yytg3059.html