iT邦幫忙

0

php 顯示文字段點?取段落?

事由
這個函數可以顯示規定字串到底幾個字後開始顯示 「...」

mb_strimwidth(string, 0, '50', '...', "UTF-8");

問題
但我現在想實現的是
讓他可以找到一個段落,只顯示一個段落
假設這一段

XXXX這裡吃的到!超級人氣組合有:2塊XXX + 1條XXX + 1顆XXX,是來此必點項目!一定要點不然你會後悔喔!~使用XXXXXX十小時以上製作的XXXX吃起來軟軟嫩嫩,沒有多餘XXXXX,XXXXXXX有點酥酥脆脆的,再加上在地辣椒醬,非常絕配!

...第二段開始...

我想讓他顯示到「...非常絕配!」然後就停了。因為每篇 blog 長度不一樣,我想讓他只顯示第一段就行,第二段就不顯示(遇到 <br> 後就不顯示),這能用什麼做判斷?

結構是這樣:
https://imgur.com/1u6w8lg

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
㊣浩瀚星空㊣
iT邦大神 1 級 ‧ 2018-10-05 09:28:53
最佳解答

一般來說,比較常用的方式是利用css來顯示。
不過因為你的是有特殊的需求。沒辦法用css那一招。

依照你的需求,正常來說我會用字串分解法。畢竟你的依據是br
用br為條件先分解字串後,取其第一段來使用。

不過事實上,你這招也隱藏很大的危機就是了。
如果文章都是自已打的,可能還不用擔心。
但碰到別人打的,完全沒換行。不就長長的一整段文章都出來了??

火爆浪子 iT邦研究生 1 級 ‧ 2018-10-10 17:12:31 檢舉

這倒是無所謂,沒有遇到 <br> 就繼續抓。只是能用什麼函數來找?

一種是使用分解字串法。也就是利用explode函數。

另一種是字串定位法。先用strpos找出第一個位置。
再用substr取得該位置前的字串

基本上我會比較喜歡用第一種方式,一個函數就處理好了。

0
小魚
iT邦大師 1 級 ‧ 2018-10-04 20:55:44

先找到br的位置,
再用你寫的那個函式.

我要發表回答

立即登入回答