整合營銷服務商

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

          免費咨詢熱線:

          從零之056 網頁代碼中提取文字(從body中去除h

          從零之056 網頁代碼中提取文字(從body中去除html代碼)

          過上一章的內容,現在網頁文件中,我們還須要去除的就是html代碼了。

          下面我們要研究一下html代碼的主要特點,不管什么樣的HTML代碼,他們均被左右尖括號所包圍,就像這個樣子<代碼>,因此,我們就有了去除的方法,把括號中的內容和聯通括號一起去除掉,就可以了。

          下面開始,根據我們的想法,可以寫出,下面這樣的主程序

          看上圖,再上一張定義的函數,我們把它移動到了通用函數庫中

          第21行,這是我們新增的代碼,執行完這個代碼,就去除掉了HTML標記,剩下的就應該是純文字內容了。在這里,我們定義了一個函數,名字叫做去除html代碼

          下面我們研究一下,這個函數的內容,如下圖

          因為使用了正則表達式,因此,在程序運行前,必須導入模塊re

          第3行,導入我們所需要的re模塊,我們想用到正則表達式

          第5行,定義函數

          第6行,用右尖括號分格隔成列表

          第8行,對列表元素進行遍歷

          第9行,使用正則挑出有效的內容,其實就是去除以前孤立的右尖括號的內容。

          第10行,對有效的內容進行左尖括號分隔

          第11行,左尖括號前面的內容就是有效的文字內容

          完整的程序如下

          下面我們對程序進行下測試,在上一章中,程序運行后得到如下的內容(內容太長,只截取一小部分)

          本次程序改造后,運行得到下面的內容


          從上面兩個圖片可以看出,我們確實把文字內容提取出來了。

          網頁設計和開發中,了解HTML的每個組成部分是至關重要的。其中,<body>標簽承載著網頁的所有可見內容,它是構建高效、互動和吸引人的網站的基礎。本文將深入探討<body>標簽的功能、重要性以及如何最大化其潛力以提升網頁的整體表現和用戶體驗。

          什么是<body>標簽?

          在HTML(超文本標記語言)中,<body>標簽定義了網頁的主體部分,這部分是所有可視化內容的容器,包括文本、圖片、視頻、游戲界面等。位于<html>標簽內部,緊隨<head>標簽之后,<body>標簽是實現頁面功能和設計的舞臺。

          <body>標簽的核心作用

          1. 內容容器:<body>標簽包含了所有用戶可以直接與之交互的元素,從基本的段落文本到復雜的交互式動畫。
          2. 布局基礎:通過CSS(級聯樣式表)與JavaScript的配合使用,開發者可以在<body>內部創建出復雜的布局和動態功能。
          3. SEO優化:雖然<body>本身對搜索引擎優化(SEO)沒有直接貢獻,但它包含的內容和標簽使用方式會極大影響搜索引擎的抓取效果。

          如何優化<body>標簽的使用?

          1. 合理使用語義化標簽:使用如<article>、<section>、<footer>等標簽來增強內容的結構化,這不僅幫助搜索引擎更好地理解和索引你的網頁,也提升了網站的無障礙訪問性。
          2. 確保快速加載:<body>內的元素越多,頁面加載時間可能越長。優化圖片大小、壓縮CSS和JavaScript文件,以及利用現代的懶加載技術,可以顯著提升頁面加載速度。
          3. 響應式設計:隨著移動設備的普及,使你的網頁在各種屏幕尺寸上都能良好顯示是非常重要的。利用媒體查詢(Media Queries)確保<body>內的內容能夠根據不同設備調整布局。

          案例分析

          讓我們通過一個簡單的例子來看看如何在實踐中應用這些技巧。假設我們需要創建一個簡單的個人博客頁面,我們會這樣構建<body>:

          <body>
            <header>
              <h1>歡迎來到我的博客</h1>
              <nav>
                <ul>
                  <li><a href="#posts">文章</a></li>
                  <li><a href="#about">關于我</a></li>
                </ul>
              </nav>
            </header>
            <main id="posts">
              <article>
                <h2>HTML基礎</h2>
                <p>HTML是構建網頁的基礎...</p>
              </article>
              <!-- 更多文章 -->
            </main>
            <footer>
              <p>版權所有 ? 2024</p>
            </footer>
          </body>
          

          在這個例子中,我們使用了語義化標簽來定義網頁的頭部、主要內容區域和尾部。這不僅使網頁結構清晰,而且有助于SEO和屏幕閱讀器的使用。

          HTML標簽相關的字符串格式化

          string nl2br ( string $string )

          nl2br() 就是將\n 替換成 <br> //javascript對\n才能夠執行換行,對</br>是不能執行換行

          htmlspecialchars() 把一些預定義的字符轉換為 HTML 實體。

          string htmlspecialchars(string,quotestyle,[character-set])

          轉換以下字符及對應的實體

          & (和號) 成為 &
          " (雙引號) 成為 "
          ' (單引號) 成為 '
          < (小于) 成為 <
          > (大于) 成為 >

          第二個參數: ENT_COMPAT 只轉換雙引號, 保留單引號, 為默認值 compat: 兼容性

          ENT_QUOTES 同時轉換兩種引號 quotes: 引號

          ENT_NOQUOTES 不對引號進行轉換

          <html>
          <body>
          <?php
          $str="John & \" 'Adams'";
          echo htmlspecialchars($str, ENT_COMPAT);
          echo "<br />";
          echo htmlspecialchars($str, ENT_QUOTES);
          echo "<br />";
          echo htmlspecialchars($str, ENT_NOQUOTES);
          ?>
          </body>
          </html>

          輸出結果:John & " 'Adams'

          John & " 'Adams'

          John & " 'Adams'

          htmlentities() 可以將所有的非ASCII碼字符轉換為對應的實體代碼;除字母、數字、\外, 漢字和鍵盤上其他字符都轉換

          <?php
          $str="A 'quote' \" is <b>bold</b>" ;
          echo htmlentities ( $str ); // 輸出后源代碼: A 'quote' is <b>bold</b>
          echo htmlentities ( $str , ENT_QUOTES ); // 輸出后源代碼: A 'quote' is <b>bold</b>
          ?>

          返回的結果:A 'quote' "is <b>bold</b>

          A 'quote' "is <b>bold</b>

          注意: htmlspecialchars()和htmlentities作用直接輸出HTML腳本

          htmlspecialchars()和htmlentities()函數對于轉義字符"\"處理,不會轉義實體代碼,要么當轉義字符對待,要么原樣輸出;

          PHP中htmlentities和htmlspecialchars的區別

          這兩個函數的功能都是轉換字符為HTML字符編碼, 特別是url和代碼字符串。防止字符標記被瀏覽器執行。

          使用中文時沒什么區別, 但htmlentities會格式化中文字符使得中文輸入是亂碼。

          htmlentities轉換所有的html標記, htmlspecialchars只格式化& ' " < 和 > 這幾個特殊符號

          addslashes() 在指定的預定義字符前添加反斜杠。

          這些預定義字符是:單引號 (') 雙引號 (") 反斜杠 (\) NULL字符(\x00)

          提示:該函數可用于為存儲在數據庫中的字符串以及數據庫查詢語句準備合適的字符串。

          注釋:默認情況下,PHP 指令 magic_quotes_gpc 為 on,對所有的 GET、POST 和 COOKIE數據自動運行 addslashes()。

          不要對已經被magic_quotes_gpc轉義過的字符串使用 addslashes(),因為這樣會導致雙層轉義。

          遇到這種情況時可以使用函數 get_magic_quotes_gpc() 進行檢測。(如:$c=(!get_magic_quotes_gpc())?addslashes($c):$c;)

          在本例中,我們要向字符串中的預定義字符添加反斜杠:

          <?php
          $str="Who's John Adams?";
          echo $str . " This is not safe in a database query.<br />";
          echo addslashes($str) . " This is safe in a database query.";
          ?>

          輸出:

          Who's John Adams? This is not safe in a database query.

          Who\'s John Adams? This is safe in a database query.

          <?php
          header("Content-type:text/html; charset=utf-8");
          $str="wo are \x0a studying \x00 php";
          echo $str;
          echo "<br>";
          echo addslashes($str);
          ?>

          輸出:

          wo are studying php

          wo are studying >wo are studying \0 php< php



          stripslashes() 刪除反斜線("\")

          在提交的表單數據中 ' " \ 等字符前被自動加上一個\ ,這是配置文件php.ini中選項magic_quotes_gpc在起作用,

          默認是打開的,如果不處理則將數據保存到數據庫時,有可能會被數據庫誤當成控制符號而引起錯誤。

          通常htmlspecialchars()和stripslashes()函數復合的方式,聯合處理表單中的提交的數據htmlspecialchars(stripslashes())

          strip_tags()

          string strip_tags ( string $str [, string $allowable_tags ] )

          剝去 HTML、XML 以及 PHP 的標簽。

          <?php
          echo strip_tags("Hello <b><i>world!</i></b>","<b>");
          ?>

          輸出結果:Hello world!

          實例:

          <?php
          $str="<b>webserver;</b> & \ 'Linux' & Apache";
          echo "$str"; //直接輸出
          echo "<br/>";
          echo htmlspecialchars($str,ENT_COMPAT); //只轉換雙引號,為默認參數
          echo "<br />";
          echo htmlspecialchars($str,ENT_NOQUOTES); //不對引號進行轉換
          echo "<br />";
          echo htmlspecialchars($str,ENT_QUOTES); //同時轉換單引號和雙引號
          echo "<br />";
          echo htmlentities($str); //將所有的非ASCII碼字符轉換為對應的實體代碼
          echo "<br />";
          echo addslashes($str); //將" ' \ 字符前添加反斜線
          echo "<br />";
          echo stripslashes($str); //刪除反斜線
          echo "<br />";
          echo strip_tags($str); //刪除<html>標記
          ?>

          輸出結果:

          webserver; & \ 'Linux' & Apache


          主站蜘蛛池模板: 一区二区国产在线观看| 国产成人精品无码一区二区老年人| 日韩一区二区三区视频| 国产一区二区免费| 97精品国产一区二区三区| 日韩亚洲一区二区三区| 国产精品被窝福利一区| 国产乱码精品一区三上| 日韩精品免费一区二区三区| 国产一区二区好的精华液| 亚洲欧美国产国产一区二区三区 | 亚洲一区二区三区久久| 亚欧色一区W666天堂| 夜色福利一区二区三区| 无码人妻一区二区三区免费n鬼沢 无码人妻一区二区三区免费看 | 欧洲亚洲综合一区二区三区| 一区二区和激情视频| 亚洲码欧美码一区二区三区| 国产综合无码一区二区色蜜蜜| 日韩免费无码一区二区视频| 动漫精品第一区二区三区| 国产一区二区在线视频播放| 一区二区三区免费视频播放器| 狠狠做深爱婷婷综合一区| 亚洲熟女一区二区三区| 伦精品一区二区三区视频| 国产精品视频无圣光一区| 亚洲一区爱区精品无码| 麻豆高清免费国产一区| 国产精品区一区二区三| 精品一区二区在线观看| 日韩av片无码一区二区不卡电影| 国产主播一区二区三区在线观看| 人妻少妇一区二区三区| 欧美激情一区二区三区成人| 色国产精品一区在线观看| 国产午夜精品片一区二区三区| 精品国产一区二区三区久久影院 | 久久精品无码一区二区app| 国产精品亚洲午夜一区二区三区| 日本精品无码一区二区三区久久久|