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
擊關注,快速進階高級架構師
作者:hoxis
最近群友提了一個問題,爬蟲時,發現被爬網址最后不加 /,就出現一直沒有正確響應的情況,我打開瀏覽器的調試模式看了下,發現不加 / 時,地址返回的是 301 MOVED PERMANENTLY,怪不得哦~
但是我也發現有些網址結尾帶有斜杠,而有的網址后面沒有帶斜杠,這個斜杠到底是干嘛的?加不加有什么區別呢?又為什么我們在瀏覽器地址欄上打出一個網址,按回車后地址末尾會自動加上一個反斜杠?
很詭異是吧!好了,借這個東風,推廣一下小知識。
在傳統意義上說,網址末尾是沒有反斜杠的。有沒有反斜杠的意義在于該 url 是指向一個文件還是一個目錄。
舉個栗子:
http://www.abc.com/abc http://www.abc.com/abc/
末尾帶斜杠 / 的是目錄/abc/,不帶的是文件/abc,是兩個不同的地址。一般來說,索引頁面(如文章列表)作為目錄,而內容頁面作為文件。
對于服務器來說,如果訪問目錄,則會根據規則訪問改目錄下的默認文件(index.html、index.htm之類)。如訪問/abc/服務器會尋找/abc/index.html文件,而訪問/abc服務器則會尋找/abc文件。
對于用戶來說,在大多數情況下這兩個網址沒有任何區別,他們訪問的都是網站 abc 目錄下的默認首頁。一般用戶也都知道最后一個斜杠是可有可無的,他們輸入網址的時候一般都只會輸入 http://www.abc.com/abc。
當 Web 服務器接收到某個末尾不含斜杠的 url 請求時,例如 http://www.abc.com/abc,這時服務器會搜索網站根目錄下有沒有名為 abc 的文件,如果沒有就把 abc 當做目錄處理,然后返回 abc 目錄下的默認首頁。
當 Web 服務器接收到的是末尾帶斜杠的請求時就會直接當做目錄處理,返回 abc 目錄下的默認首頁。
這樣一來加上反斜杠就會加快網站加載速度。對于網站所在的服務器,網址沒有加上反斜杠會給服務器增加一個查找是否有同名文件的過程,這明顯會增加服務器的負擔,當然這個影響并不會很大,但如果你的網站的直接流量很大,那么給 url 末尾加上反斜杠便能較大的減輕服務器的負擔了。
當然給網址末尾加上反斜杠還有其他的好處:
總的來說給網址末尾加上反斜杠對對網站建設者是有很大好處的,這可以說是網站建設者應該養成的一個好習慣。當然,在交換友情鏈接時別忘了提醒一下對方,記得為你的網站 url 末尾加上反斜杠了。
鏈接:https://www.jianshu.com/p/a53843518469
Markdown 是由約翰·格魯伯(John Gruber)和亞倫·斯沃茨(Aaron Swartz)共同創造的一種輕量級標記語言。它于2004年首次發布,旨在提供一種易于編寫和閱讀的文本格式,以便將內容轉換為結構良好的 HTML。Markdown 的設計目標是讓人們專注于內容,而不是樣式。
markdown - 簡潔易用的標記語言
Markdown 的起源可以追溯到格魯伯的一篇博文,他提出了一種簡單的標記語法,以解決 HTML 編寫過程中繁瑣的問題。斯沃茨對此表示了興趣,并與格魯伯合作進一步發展了 Markdown,并將其應用于斯沃茨的項目中。隨著時間的推移,Markdown 逐漸獲得了廣泛的認可和應用,在編寫文檔、撰寫博客、寫作文檔和代碼文檔等領域都得到了廣泛使用。
簡單整理了一下,以下是按常用和不常用順序排列的 Markdown 語法表格:
標題 | 使用 # 標記,可表示 1 到 6 級標題 |
粗體 | 使用 **文本** 或 __文本__ 標記 |
斜體 | 使用 *文本* 或 _文本_ 標記 |
引用 | 使用 > 標記引用文本 |
無序列表 | 使用 -、+ 或 * 標記列表項 |
有序列表 | 使用數字后跟 . 來標記列表項 |
任務列表 | 使用 - [ ] 或 - [x] 標記未完成或已完成的任務 |
鏈接 | 使用 [鏈接文本](鏈接地址) 標記超鏈接 |
圖片 | 使用  插入圖片 |
代碼塊 | 使用 標記單行代碼塊,或使用 標記多行代碼塊 |
水平線 | 使用 ---、___ 或 *** 插入水平線 |
表格 | 使用 ` |
腳注 | 使用 [^腳注名稱] 標記腳注,并在文本末尾定義腳注 |
內聯 HTML | 可以在 Markdown 中使用部分 HTML 標簽和屬性 |
自動鏈接 | 使用 <鏈接地址> 自動將鏈接轉換為可點擊的鏈接 |
轉義字符 | 使用反斜杠 \ 對特殊字符進行轉義 |
刪除線 | 使用 ~~文本~~ 標記刪除線 |
注釋 | 使用 <!-- 注釋內容 --> 插入注釋 |
轉義特殊字符 | 使用 & 加上特殊字符代碼轉義特殊字符 |
內嵌 LaTeX 公式 | 使用 $ 公式 $ 或 $$ 公式 $$ 插入內嵌 LaTeX 公式 |
定義 HTML 錨點 | 使用 <a name="錨點名稱"></a> 定義 HTML 錨點 |
自定義標題標識符 | 使用 {#標識符} 自定義標題的 ID 屬性 |
高亮顯示代碼 | 使用三個反引號后加語言名稱來高亮顯示代碼塊 |
表格對齊 | 使用冒號 : 在表格中指定對齊方式 |
注腳鏈接 | 使用 [^腳注名稱] 創建注腳鏈接 |
自動鏈接郵箱地址 | 使用 <郵箱地址> 自動將郵箱地址轉換為可點擊的鏈接 |
自動鏈接 URL | 使用 <鏈接地址> 自動將 URL 轉換為可點擊的鏈接 |
轉義 HTML 標簽 | 使用反斜杠 \ 轉義 HTML 標簽 |
內嵌圖表 | 使用 {{圖表代碼}} 在 Markdown 中插入圖表 |
轉義 Markdown 標記 | 使用反斜杠 \ 轉義 Markdown 標記 |
定義圖片尺寸 | 使用 <img> 標簽并指定 width 和 height 屬性定義圖片尺寸 |
擴展語法(GFM) | GitHub Flavored Markdown(GFM)提供了更多語法擴展,如任務列表 |
目錄 | 使用 [TOC] 自動生成目錄 |
請注意,這只是 Markdown 語法的一部分,而且不同的 Markdown 解析器可能會有略微不同的語法支持。
Typora是一款簡單高效的Markdown編輯器,使您可以輕松編寫和編輯純文本。讓您覺得它實際上是一個系統自帶應用程序。通過為您提供所有必要的工具和一個組織良好的環境,使Markdown編輯任務看起來像是在散步。
Typora 為您提供作為讀者和作者的無縫體驗。它刪除了預覽窗口、模式切換器、Markdown 源代碼的語法符號以及所有其他不必要的干擾,代之以實時預覽,以幫助您專注于內容本身。
軟件下載地址:https://alonggjx.com/1.html
typora - 文本編輯器
EmEditor Pro – 強大的文本編輯器專業版,為程序員、Web 開發人員和普通用戶提供語法說明和 Unicode 支持。編輯器功能包括使用正則表達式在文件中搜索和替換、自動檢測代碼、突出顯示鏈接和電子郵件地址、塊選擇模式、配置按鈕欄、菜單、字體和顏色元素。對于每種語言,您可以設置單獨的配置。該程序還支持用 javascript 或 VBScript 編寫的強大宏,使您可以捕獲經?;蚺紶柺褂玫膸缀跞魏尾僮?。
軟件下載地址:https://alonggjx.com/146.html
EmEditor pro -文本編輯器
人們使用 Markdown 的主要原因是它的簡潔性和易用性。與其他標記語言相比,Markdown 的語法更簡單,使得寫作和編輯變得更加高效。它使得編寫文檔和博客成為一種愉快的體驗,同時也方便了文檔的版本控制和協作編輯。此外,Markdown 的純文本格式使得文件易于存儲、分享和遷移,不受特定軟件或平臺的限制。因此,Markdown 成為了許多人在寫作和記錄文檔時的首選工具。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。