整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          ThinkPHP之去掉文章中的所有HTML標簽并截取部分內容作為簡介

          了讓初學者更容易理解,本文寫的比較詳細,所以如果你已是技術大拿,請直接繞過,以免浪費你的寶貴時間,謝謝。

          相信現在很多網站都有文章功能,有文章就基本上少不了要有個列表頁,網頁設計師們對文章列表頁的設計也是五花八門,各有各的創意,那我們就拿ThinkPHP旗下的極思維平臺的列表頁來說,極思維的目前的列表頁是這樣的:

          大家可以看到,它的布局是塊形式展現,每篇文章都是固定的布局,圖片,標題,簡介,如果說每篇文章在發布的時候都要單獨的寫個簡介,單獨上傳個封面圖,對編輯者來說就有些麻煩了,那我們就可以通過程序讓它自動去抓取封面和簡介,自動抓取縮略圖我在之前的文章有講過,大家可以去找下我之前的《ThinkPHP之自動獲取文章內容中的第一張圖片做為縮略圖》這篇文章,今天我們主要講如何自動抓取文章的部分內容作為文章的簡介。

          我們先來分析一下功能的實現原理,所謂簡介,就是簡單的說明一下這篇文章的主要內容,不涉及到排版,所以我們只需要純文字,那么問題來了,之前我們在抓取縮略圖的文章中我們也有說到,文章內容是由編輯器進行排版的,既然有排版樣式,就必定要有HTML樣式,只要保留文字就得把所有的HTML標簽都去掉,那怎么去掉呢?

          不用急,PHP有個專門去掉HTML的函數,這個函數就是 strip_tags ,我們先來看一下這個函數是什么樣的:

          在以上代碼中可以看到,內容中有個 <b> 標簽,<b> 標簽的作用就是字體加粗,我們運行一下實例看下:

          可以很明顯的看到使用了 strip_tags 函數和沒使用 strip_tags 函數的區別,那是不是直接在ThinkPHP中用這個函數就夠了呢,寫過文章的人都知道,文章會涉及到換行、空格等格式,strip_tags 函數只能去掉HTML標簽,并不能去掉換行、空格等格式,那么怎么樣才能去掉換行和空格呢,別擔心,強大的PHP也有函數來處理這些東西的,PHP中有個正則替換函數叫做 ereg_replace ,這個函數可以把指定的字符換成我們想要的字符,那么我們的邏輯代碼就可以這樣寫:

          從上面的邏輯代碼中,我們可以看到替換換行符中處理了三次替換,這是為什么呢,因為現在服務器系統有很多種,最常用的就有windows、linux兩種系統,這兩種系統的換行符是不同的,所以為了兼容不同的服務器,我們就多替換幾次,其中 \r\n 是替換 linux 和 unix 系統的換行符,\n 是替換 windows 系統的換行符,\r 是替換蘋果系統的換行符的。

          處理好了HTML之后,接下來我們就要截取內容了,因為文章字數有多有少,既然是簡介,那我們肯定就只要截取一小段文字了,比如只要50個字或者100個字這樣,因為編程基本都是用英文編寫的,對中文的識別較差,所以在編程計算長度時,一個中文漢字是算兩個字符的,所以如果我們要截取50個中文的話,截取長度就是乘以二,那就是100了,其實這都不算什么問題,但是在實際過程中,按這樣的方式去截取的話,遇到文章包含中英文的時候就可能會出現亂碼的情況,為了避免出現亂碼,我們可以用一個非PHP核心函數 mb_strlen 來解決,為什么說 mb_strlen 是非PHP核心函數呢,因為在使用 mb_strlen 函數前需要確保在 php.ini 中有加載 php_mbstring.dll,要不然就會出現 未定義函數 的問題,那我們就來把上面的代碼改進一下,加上截取字數的功能,得到代碼如下:

          然后,我們以ThinkPHP3.2為例,把上面的自定義函數方法添加到ThinkPHP框架中核心公共函數目錄(Common)里的 functions.php 文件的最后面即可。

          調用方法為:{$vo.content|cutstr_html=###,100}

          上面調用方法中的 ### 是表示文章內容,100為要截取的字數長度。

          謝謝你的閱讀,如果你有更好的方法或在應用過程中遇到問題可以在評論區提問或者直接私信我,我會定期回復,碼農劉小橋與你一起學習,共同進步。

          、 結構

          一、標記<Html> 建立HTML文檔

          <Head> 設置網頁頭部和其它信息

          <Body> 設計文件格式及內文所在<Body> 元素的屬性

          Text 設置頁面文字的送顔色 Bgcolor 設置頁面背景的顡色

          Background 設置頁面的背景圖像 Link設置頁面黙認的顔色

          Bgproperties 設置頁面的背景圖像為固定,不隨頁面的滾動而滾動

          Alink 設置鼠標正在單擊時候的鏈接顔色 Vlink 設置訪問過后的鏈接顔色

          Topmargin 設置頁面的上邊距 Leftmargin 設置頁面的左邊距

          二、頭部

          標記 <Base> 當前文檔的URL全稱 <Title>設置顯示在瀏覽器在上方的標題內容

          <Isindex> 表明該文檔是一個可用于檢索的網關腳本

          <Meta> 有關文檔本身的信息,例如用于查詢的關鍵詞,用于獲取該文檔的有效期等

          <Style> 設置CSS層疊樣式表的內容

          <link> 設置外部文件的鏈接 <script> 設置頁面中程序腳本的內容

          <Mate> 標記屬性

          Http-Equiv 生成一個HTTP標題域,它的取值與另一個屬性相同,

          例如Http-Equiv=Expires,實際取值由Content確定

          Name 如果元數據是以關鍵字/取值的形式出現的,Name 表示鍵字,

          如Author或ID

          Content 關鍵字/取值的內容

          三、文字

          文字標記 <HNumber>……<1HNumber> Number=1.2.3.4.5.6

          分別指1至6級標題

          <Font>文字

          文字的修飾標記 <B>/<strong> 粗體 <I>/<Em>/<cite> 斜體

          <Sup>上標 <sub>下標 <Big>大字號 <small>小字號

          <U>下劃線 <S>/<strike>刪除線 <Address>地址

          <Tt>打字機文字 <Blink>閃爍文字(只適用于Netscape瀏覽器)

          <Code>/<samp>等寬 <kbd>鍵盤輸入文字 <Var>聲明變量

          <Fant>標記的屬性

          Face 字體 Size字號 Color顔色

          四.列表

          列表標記 <Ul>無序列表 <Ol>有序列表 <Dir>回錄列表 <Dl>定義列表

          <Meru>菜單列表 <Dt>·<Dd>定義列表的標記 <Li>列表項目的標記

          <Ul><Ol>標記的屬性 Type設置列表類型 start設置列表起始屬性

          Type的屬性值 1 數字 a 小寫字母 A 大寫字母 i小寫羅馬數字

          I 大寫羅馬數字 Disc ● Circle ○ square □

          五.鏈接

          鏈接標記 <A> 鏈接

          <A>標記的屬性 Href 指定鏈接地址 Name給鏈接命名

          Title設置鏈接提示文字 Target指定鏈接的目標窗口

          Target屬性值 -parent在上一級窗口中打開。一般使用分幀的框架頁會經常使用

          -bank在新窗口中打開

          -self在同一個幀或窗口中打開.這項一般不用設置

          Href屬性值 http:// 進入萬維網站點 news://啟動新聞討論

          ftp:// 進入文件傳輸服務器 mailto:// 啟動新聞討論組

          telnet:// 啟動telnet方式 gopher://訪問一個gopher服務器

          六.圖片

          圖片標記 <Img>圖片 <Map>圖像映射 <Area>圖像映射中定義區域

          <lmg>標記的屬性 src圖像的源文件 Alt提示文字 Width寬度

          Height高度 Vspace垂直間距 Hspace水平間距 Align排列 Border邊框

          Align屬性值 Top文字的中間線居于圖片上方 Middle文字的中間線居于圖片中間

          Bottom文字的中間線居于圖片底部 Left 圖片在文字的左側

          Right圖片在文字的右側 Absbottom文字的底線居于圖片底部

          Absmiddle文字的底線居于圖片中間 Baseline英文文字基線對齊

          Texttop英文文字上邊線對齊

          Shape屬性值

          Rect矩形區域 Circle橢圓形區域 Poly多邊形區域

          七.表格

          1.表格標記 <Table>…</Table>表格標記 <Tr>…</Tr>行標記

          <Td>…</Td>單元格標記 <Th>表頭標記

          <Table>標記屬性 Bordercolor 表格邊框色 Borde表格邊框的寬度

          Bordercolorlight 表格邊框亮邊框色(左上邊框顔色)

          Bordercolordark 表格暗邊框色(右下邊框顔色)

          Bordercolor 行的邊框顔色 Width表格的寬度 Height表格的高度

          Bgcolor表格的背景顔色 Background表格的背圖像

          <Tr>標記屬性 Align行內容的水平對齊 Valign 行內容的垂直對齊

          Bgcolor 行的背景顔色 Background 行的背景圖像

          Bordercolor 行的邊框顔色 Bordercolorlight 行的亮邊框顔色

          Bordercolordark 行的暗邊框顔色

          <Td>標記屬性 Align單元內容的水平對齊 Valign單元格內容的垂直對齊

          Bgcolor 單元格的背景顔色 Background 單元格的背景圖像

          Bordercolor單元格的背景顔色 Bordercorlorlight單元格的亮邊框顔色

          Brodercolordark 單元格的暗邊框顔色 Width 單元格的寬度

          Height單元格的高度

          <Th>標記屬性 Align表頭內容的水平對齊 Valign表頭內容的垂直對齊

          Bgcolor 表頭的背景顔色 Background表頭的背景圖像

          Bordercolor表頭的邊框顔色 Bordercolorlight 表頭的亮邊框顔色

          Bordercolordark 表頭的暗邊框顔色 Width 表頭的寬度 Height 表頭的高度

          八.表單

          1.表單標記 <Form>表單標記 <Input>表單輸入標記

          <select>菜單和列表標記 <Option>菜單和列表項目標記

          2.屬性 <Form> Name表單的名稱

          Method 定義表單結果從瀏覽器傳送到服務器的方法,一般有兩種方法:get,post

          Action 用來定義表單處理程序(一個Asp,CGI等程序)的位置(相對地址或絕對地址)

          <lnput>標記屬性 Name 域的名稱 Type域的類型

          Maxlength 域的最大輸入字符數 size域的寬度 Value 域的默認值

          <Select>標記屬性 Name 菜單和列表的名稱 size 顯示的選項數目

          Multiple 列表中的項目多選 Value 選項值 selected默認選項

          <Texrarea>標記屬性 Name 文字域的名稱 Rows文字域的行數

          Cols 文字域的列數 Value 文字域的默認值

          Type屬性值 Text 文字域 Password 密碼域 File 文件域

          Checkbox復選框 Redio單選框 Button普通按扭

          Submit 提交按鈕 Reset重置按鈕 Hidden隱藏域Image圖像域

          九.滾動

          滾動標記 <Marquee>

          <Marquee>標記屬性 Direction 滾動方向 up 文字向上滾動 Left文字向左滾動

          Behavior 滾動方式 Scroll 循環往復

          Side 只做一次滾動

          Alternate 交替進行滾動

          ScrollAmount 滾動速度

          ScrollDelay 滾動延遲

          Trim函數用來剔除首尾空格

          十.框架

          1.標記 <Frameset> 框架邊框標記 <Frame> 框架標記 <Iframe>浮動框架標記

          <Frameset>標記屬性 Cols列 Rows行

          <Frame> 標記屬性 src框架中顯示頁面源文件的路徑

          FrameBorder 框架邊框顯標屬性 FrameSpacing框架邊框寬度屬性

          Scrolling框架滾動條顯示屬性 NoResize 框架尺寸調整屬性

          BorderColor 框架邊框顔色屬性 MarginWidt 框架邊框緣寬度屬性

          MarginHerght框架邊緣高度屬性

          <1frame> 標記屬性 src浮動框架中顯示頁面源文件的路徑

          Width 浮動框架的寬度 Height 浮動框架的高度

          Name 浮動框架的名稱

          Align 浮動框架的排列方式 Left表示居左 Center表示居中 Right表示居右

          FrameBorder 框架邊框顯示屬性 FrameSpacing 框架寬度屬性

          Scrolling 框架滾動條顯示屬性 ( yes顯示 No不顯示 Auto根據頁面的長度自動判斷是否晶粒示滾動條

          NoResize 框架尺寸調整屬性 BorderColor框架的顔色

          MarginWidth 框架邊緣寬度屬性 MarginHeight 框架邊緣高度屬性

          插入刷新

          步驟:1.選擇"查看/文件頭內容"

          2.在插入面板上,打開HTML選項卡

          優化代碼

          打開文件窗口,執行"命令、清理HTML"命令

          文本換行:Enter 行距較大

          Enter + Shift 行距較小

          插入水平線設置顔色:單擊屬性面板中的快捷標簽編輯器按鈕

          在代碼中鍵入"color = #顔色值"

          當圖像無法顯示時將顯示這段文字:

          圖像屬性中的替代→輸入文字

          插入鼠標經過圖像:準備兩張圖像

          在文件窗口中,將光標放置于需要翻轉圖像位置→插入工具欄中單擊鼠標經過圖像

          Ⅱ.使用導航條:

          在"常用"對象組中,單擊"圖像"小三角→導航條

          插入圖像占位符:圖像小三角→圖像占位符

          Flash動畫的背景實現透明 參數wmode 值 transparent

          插入 Java Applet

          插入表單

          插入表單域:對象面板上"表單"→插入表單

          插入文本域:單擊面板上的插入文本域. 初始值 = 打開時顯于的文字

          插入密碼框:在屬性面板上選擇密碼

          插入多行文本域:在類型后選擇多行

          插入隱藏域:對象面板→插入隱藏域

          插入按鈕:標簽用來設置按鈕上顯示的文本

          插入圖像提交按鈕=圖像域:

          插入文件上傳按鈕=文件域:

          插入單選框

          插入單選按鈕組:Label文字說明 Value 單選按鈕的值

          插入復選框

          菜單/插入列表:列表值→

          插入跳轉菜單:(

          制作網頁鏈接

          URL統一資源定位器

          目標:_blank在一個新的未命名的瀏覽器窗口中打開

          _parent如果是嵌套的框架,鏈接會在父框架或窗口中打開,否則=_top

          _top在完整的瀏覽器中打開

          創建搜索頁

          運行中輸入:

          Inetmgr (IIS

          Odbcad32 (odbc

          Asp對象

          Applicatipn 在給定的應用程序的所有用戶間共享信息,并在服務器運行期間持久地保存數據。

          集合: Contents

          staticObjects

          Item(變量值)=設置資料變量的值

          Key(變量名稱)=設置資料變量的名稱

          Count(變量資料的數量)=表示

          Coutents集合中資料的總數量

          方法: Lock

          Unlock

          事件: Applicatipn_Onstart

          Application_OnEnd

          Session 存儲特定的用戶會話所需的信息

          屬性:CodePage

          LCID

          SessionID

          Timeout

          集合:Contents

          StaticObjects

          方法:Abandon

          事件:Session_Onstart

          Session_OnEnd

          Response 用來控制發送給用戶的信息,包括直接發送信息給瀏覽器,重定位瀏覽器到另一個URL或設置Cookie值

          屬性: Buffer

          CacheControl

          Charset

          ContentType

          Expires

          ExpiresAbsolute

          IsClientConnected

          PICS

          Status

          集合: Cookies

          方法: AddHeader

          AppendToLog

          BinaryWrite

          Clear

          End

          Flush

          Redirect

          Write

          Request 訪問任何基于HTTP請求傳遞的信息,常見的有從HTML表單用Post方法或Get方法傳遞的參數,Cookie或用戶認證等。

          屬性: TotalBytes

          集合: ClientCertificate

          Cookies

          Form

          QueryString

          ServerVaiables

          方法: BinaryRead

          Server 提供對服務器方法和屬性的訪問

          屬性: ScriptTimeout

          集合: 無

          方法: CreatObject

          HTMLEncode

          MapPath

          URLEncode

          Recordset

          MoveNext 將前數據記錄移至下一條

          MovePrevious 將當前數據記錄移至上一條

          MoveFirst 將當前數據記錄移至第一條

          MoveLast 將當前數據記錄移至最后一條

          AbsolutePosition=N 將當前數據記錄移至第N條

          EOF 當前數據記錄是否移過了最后一條(發生于向下移動時)

          BOF 當前數據記錄是否移過了第一條 (發生于向上移動時)

          VBScript 運算符

          算術運算符

          指數 取負 乘法 除法 加法 減法 取模 連接 整數除法

          ∧ - * / ﹢ ﹣ Mod & \

          比較運算符

          相等 不相等 小于 大于 小于或等于 大于或等于 對象相象

          = <> < > <= >= IS

          邏輯運算符

          邏輯非 邏輯與 邏輯或 異或 邏輯等于 邏輯蘊含

          Not And Or Xor Eqv Imp

          html 段落

          通過<p>標簽來創建段落(paragraph)

          <p>這是一個段落</p>

          瀏覽器會自動在段落的前后添加空格

          ●如果你希望在不產生一個新段落的情況下進行換行(新行),請使用<br>標簽

          <p>這是一個段落</p>

          <p>這是另一個段落</p>

          <p>這個段落<br>演示了換行的效果</p>

          ●<br>元素是一個空的html元素,它沒有結束標簽.效果如下:

          二 html文本格式化

          html使用標簽<b><i>對輸出的文本進行格式化,如:粗體(bold)和斜體(italic).這些html標簽被稱為格式化標簽

          <!doctype html>

          <html>

          <head>

          <meta charset="utf-8">

          <title>愛你的阿平</title>

          </head>

          <body>

          <p><b>定義粗體文本</b></p>

          <p><em>定義著重文字</em></p>

          <p><i>定義斜體字</i></p>

          <p><small>定義小號字<small></p>

          <p><strong>定義重要的文本<strong></p>

          <p><sub>下標字</sub></p>

          <p><sup>上標字</sup></p>

          <p><ins>定義插入字</ins></p>

          <p><del>定義刪除字</del></p>

          </body>

          </html>

          結果如下:


          主站蜘蛛池模板: 中文字幕一区二区三区免费视频| 无码精品人妻一区二区三区漫画 | 国产一区二区三区91| 激情内射亚洲一区二区三区爱妻| 国产AV一区二区三区无码野战 | 亚洲国产视频一区| 国产日韩AV免费无码一区二区| 肥臀熟女一区二区三区| 一区二区三区观看| 无码人妻精品一区二区蜜桃百度| 无码少妇一区二区浪潮av| 一区二区三区在线观看中文字幕 | 精品国产一区二区三区无码| 蜜臀AV在线播放一区二区三区| 色窝窝无码一区二区三区成人网站| 无码av免费一区二区三区| 无码人妻精品一区二区三区东京热 | 无码少妇一区二区三区芒果| 综合一区自拍亚洲综合图区| 国产福利一区二区精品秒拍| 亚洲欧洲一区二区三区| 久久综合精品国产一区二区三区| 亚洲一区二区三区在线观看精品中文| 狠狠综合久久AV一区二区三区| 国产成人精品一区二区秒拍| 亚洲一区电影在线观看| 天堂Av无码Av一区二区三区| 精品女同一区二区三区免费播放 | 亚洲国产高清在线一区二区三区| 91精品一区国产高清在线| 香蕉久久av一区二区三区| 99精品国产一区二区三区2021| 美日韩一区二区三区| 手机看片一区二区| 精品亚洲AV无码一区二区三区| 中文字幕AV无码一区二区三区| 国产精品久久久久一区二区 | 国产在线不卡一区二区三区 | 亚洲视频一区二区三区四区| 欧洲精品码一区二区三区| 在线视频一区二区三区三区不卡|