Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
HTML標(biāo)簽相關(guān)的字符串格式化
string nl2br ( string $string )
nl2br() 就是將\n 替換成 <br> //javascript對(duì)\n才能夠執(zhí)行換行,對(duì)</br>是不能執(zhí)行換行
htmlspecialchars() 把一些預(yù)定義的字符轉(zhuǎn)換為 HTML 實(shí)體。
string htmlspecialchars(string,quotestyle,[character-set])
轉(zhuǎn)換以下字符及對(duì)應(yīng)的實(shí)體
& (和號(hào)) 成為 &
" (雙引號(hào)) 成為 "
' (單引號(hào)) 成為 '
< (小于) 成為 <
> (大于) 成為 >
第二個(gè)參數(shù): ENT_COMPAT 只轉(zhuǎn)換雙引號(hào), 保留單引號(hào), 為默認(rèn)值 compat: 兼容性
ENT_QUOTES 同時(shí)轉(zhuǎn)換兩種引號(hào) quotes: 引號(hào)
ENT_NOQUOTES 不對(duì)引號(hào)進(jìn)行轉(zhuǎn)換
<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>
輸出結(jié)果:John & " 'Adams'
John & " 'Adams'
John & " 'Adams'
htmlentities() 可以將所有的非ASCII碼字符轉(zhuǎn)換為對(duì)應(yīng)的實(shí)體代碼;除字母、數(shù)字、\外, 漢字和鍵盤上其他字符都轉(zhuǎn)換
<?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>
?>
返回的結(jié)果:A 'quote' "is <b>bold</b>
A 'quote' "is <b>bold</b>
注意: htmlspecialchars()和htmlentities作用直接輸出HTML腳本
htmlspecialchars()和htmlentities()函數(shù)對(duì)于轉(zhuǎn)義字符"\"處理,不會(huì)轉(zhuǎn)義實(shí)體代碼,要么當(dāng)轉(zhuǎn)義字符對(duì)待,要么原樣輸出;
PHP中htmlentities和htmlspecialchars的區(qū)別
這兩個(gè)函數(shù)的功能都是轉(zhuǎn)換字符為HTML字符編碼, 特別是url和代碼字符串。防止字符標(biāo)記被瀏覽器執(zhí)行。
使用中文時(shí)沒什么區(qū)別, 但htmlentities會(huì)格式化中文字符使得中文輸入是亂碼。
htmlentities轉(zhuǎn)換所有的html標(biāo)記, htmlspecialchars只格式化& ' " < 和 > 這幾個(gè)特殊符號(hào)
addslashes() 在指定的預(yù)定義字符前添加反斜杠。
這些預(yù)定義字符是:單引號(hào) (') 雙引號(hào) (") 反斜杠 (\) NULL字符(\x00)
提示:該函數(shù)可用于為存儲(chǔ)在數(shù)據(jù)庫中的字符串以及數(shù)據(jù)庫查詢語句準(zhǔn)備合適的字符串。
注釋:默認(rèn)情況下,PHP 指令 magic_quotes_gpc 為 on,對(duì)所有的 GET、POST 和 COOKIE數(shù)據(jù)自動(dòng)運(yùn)行 addslashes()。
不要對(duì)已經(jīng)被magic_quotes_gpc轉(zhuǎn)義過的字符串使用 addslashes(),因?yàn)檫@樣會(huì)導(dǎo)致雙層轉(zhuǎn)義。
遇到這種情況時(shí)可以使用函數(shù) get_magic_quotes_gpc() 進(jìn)行檢測。(如:$c=(!get_magic_quotes_gpc())?addslashes($c):$c;)
在本例中,我們要向字符串中的預(yù)定義字符添加反斜杠:
<?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() 刪除反斜線("\")
在提交的表單數(shù)據(jù)中 ' " \ 等字符前被自動(dòng)加上一個(gè)\ ,這是配置文件php.ini中選項(xiàng)magic_quotes_gpc在起作用,
默認(rèn)是打開的,如果不處理則將數(shù)據(jù)保存到數(shù)據(jù)庫時(shí),有可能會(huì)被數(shù)據(jù)庫誤當(dāng)成控制符號(hào)而引起錯(cuò)誤。
通常htmlspecialchars()和stripslashes()函數(shù)復(fù)合的方式,聯(lián)合處理表單中的提交的數(shù)據(jù)htmlspecialchars(stripslashes())
strip_tags()
string strip_tags ( string $str [, string $allowable_tags ] )
剝?nèi)?HTML、XML 以及 PHP 的標(biāo)簽。
<?php
echo strip_tags("Hello <b><i>world!</i></b>","<b>");
?>
輸出結(jié)果:Hello world!
實(shí)例:
<?php
$str = "<b>webserver;</b> & \ 'Linux' & Apache";
echo "$str"; //直接輸出
echo "<br/>";
echo htmlspecialchars($str,ENT_COMPAT); //只轉(zhuǎn)換雙引號(hào),為默認(rèn)參數(shù)
echo "<br />";
echo htmlspecialchars($str,ENT_NOQUOTES); //不對(duì)引號(hào)進(jìn)行轉(zhuǎn)換
echo "<br />";
echo htmlspecialchars($str,ENT_QUOTES); //同時(shí)轉(zhuǎn)換單引號(hào)和雙引號(hào)
echo "<br />";
echo htmlentities($str); //將所有的非ASCII碼字符轉(zhuǎn)換為對(duì)應(yīng)的實(shí)體代碼
echo "<br />";
echo addslashes($str); //將" ' \ 字符前添加反斜線
echo "<br />";
echo stripslashes($str); //刪除反斜線
echo "<br />";
echo strip_tags($str); //刪除<html>標(biāo)記
?>
輸出結(jié)果:
webserver; & \ 'Linux' & Apache
擊關(guān)注,快速進(jìn)階高級(jí)架構(gòu)師
作者:hoxis
最近群友提了一個(gè)問題,爬蟲時(shí),發(fā)現(xiàn)被爬網(wǎng)址最后不加 /,就出現(xiàn)一直沒有正確響應(yīng)的情況,我打開瀏覽器的調(diào)試模式看了下,發(fā)現(xiàn)不加 / 時(shí),地址返回的是 301 MOVED PERMANENTLY,怪不得哦~
但是我也發(fā)現(xiàn)有些網(wǎng)址結(jié)尾帶有斜杠,而有的網(wǎng)址后面沒有帶斜杠,這個(gè)斜杠到底是干嘛的?加不加有什么區(qū)別呢?又為什么我們?cè)跒g覽器地址欄上打出一個(gè)網(wǎng)址,按回車后地址末尾會(huì)自動(dòng)加上一個(gè)反斜杠?
很詭異是吧!好了,借這個(gè)東風(fēng),推廣一下小知識(shí)。
在傳統(tǒng)意義上說,網(wǎng)址末尾是沒有反斜杠的。有沒有反斜杠的意義在于該 url 是指向一個(gè)文件還是一個(gè)目錄。
舉個(gè)栗子:
http://www.abc.com/abc http://www.abc.com/abc/
末尾帶斜杠 / 的是目錄/abc/,不帶的是文件/abc,是兩個(gè)不同的地址。一般來說,索引頁面(如文章列表)作為目錄,而內(nèi)容頁面作為文件。
對(duì)于服務(wù)器來說,如果訪問目錄,則會(huì)根據(jù)規(guī)則訪問改目錄下的默認(rèn)文件(index.html、index.htm之類)。如訪問/abc/服務(wù)器會(huì)尋找/abc/index.html文件,而訪問/abc服務(wù)器則會(huì)尋找/abc文件。
對(duì)于用戶來說,在大多數(shù)情況下這兩個(gè)網(wǎng)址沒有任何區(qū)別,他們?cè)L問的都是網(wǎng)站 abc 目錄下的默認(rèn)首頁。一般用戶也都知道最后一個(gè)斜杠是可有可無的,他們輸入網(wǎng)址的時(shí)候一般都只會(huì)輸入 http://www.abc.com/abc。
當(dāng) Web 服務(wù)器接收到某個(gè)末尾不含斜杠的 url 請(qǐng)求時(shí),例如 http://www.abc.com/abc,這時(shí)服務(wù)器會(huì)搜索網(wǎng)站根目錄下有沒有名為 abc 的文件,如果沒有就把 abc 當(dāng)做目錄處理,然后返回 abc 目錄下的默認(rèn)首頁。
當(dāng) Web 服務(wù)器接收到的是末尾帶斜杠的請(qǐng)求時(shí)就會(huì)直接當(dāng)做目錄處理,返回 abc 目錄下的默認(rèn)首頁。
這樣一來加上反斜杠就會(huì)加快網(wǎng)站加載速度。對(duì)于網(wǎng)站所在的服務(wù)器,網(wǎng)址沒有加上反斜杠會(huì)給服務(wù)器增加一個(gè)查找是否有同名文件的過程,這明顯會(huì)增加服務(wù)器的負(fù)擔(dān),當(dāng)然這個(gè)影響并不會(huì)很大,但如果你的網(wǎng)站的直接流量很大,那么給 url 末尾加上反斜杠便能較大的減輕服務(wù)器的負(fù)擔(dān)了。
當(dāng)然給網(wǎng)址末尾加上反斜杠還有其他的好處:
總的來說給網(wǎng)址末尾加上反斜杠對(duì)對(duì)網(wǎng)站建設(shè)者是有很大好處的,這可以說是網(wǎng)站建設(shè)者應(yīng)該養(yǎng)成的一個(gè)好習(xí)慣。當(dāng)然,在交換友情鏈接時(shí)別忘了提醒一下對(duì)方,記得為你的網(wǎng)站 url 末尾加上反斜杠了。
鏈接:https://www.jianshu.com/p/a53843518469
Markdown 是由約翰·格魯伯(John Gruber)和亞倫·斯沃茨(Aaron Swartz)共同創(chuàng)造的一種輕量級(jí)標(biāo)記語言。它于2004年首次發(fā)布,旨在提供一種易于編寫和閱讀的文本格式,以便將內(nèi)容轉(zhuǎn)換為結(jié)構(gòu)良好的 HTML。Markdown 的設(shè)計(jì)目標(biāo)是讓人們專注于內(nèi)容,而不是樣式。
markdown - 簡潔易用的標(biāo)記語言
Markdown 的起源可以追溯到格魯伯的一篇博文,他提出了一種簡單的標(biāo)記語法,以解決 HTML 編寫過程中繁瑣的問題。斯沃茨對(duì)此表示了興趣,并與格魯伯合作進(jìn)一步發(fā)展了 Markdown,并將其應(yīng)用于斯沃茨的項(xiàng)目中。隨著時(shí)間的推移,Markdown 逐漸獲得了廣泛的認(rèn)可和應(yīng)用,在編寫文檔、撰寫博客、寫作文檔和代碼文檔等領(lǐng)域都得到了廣泛使用。
簡單整理了一下,以下是按常用和不常用順序排列的 Markdown 語法表格:
標(biāo)題 | 使用 # 標(biāo)記,可表示 1 到 6 級(jí)標(biāo)題 |
粗體 | 使用 **文本** 或 __文本__ 標(biāo)記 |
斜體 | 使用 *文本* 或 _文本_ 標(biāo)記 |
引用 | 使用 > 標(biāo)記引用文本 |
無序列表 | 使用 -、+ 或 * 標(biāo)記列表項(xiàng) |
有序列表 | 使用數(shù)字后跟 . 來標(biāo)記列表項(xiàng) |
任務(wù)列表 | 使用 - [ ] 或 - [x] 標(biāo)記未完成或已完成的任務(wù) |
鏈接 | 使用 [鏈接文本](鏈接地址) 標(biāo)記超鏈接 |
圖片 | 使用  插入圖片 |
代碼塊 | 使用 標(biāo)記單行代碼塊,或使用 標(biāo)記多行代碼塊 |
水平線 | 使用 ---、___ 或 *** 插入水平線 |
表格 | 使用 ` |
腳注 | 使用 [^腳注名稱] 標(biāo)記腳注,并在文本末尾定義腳注 |
內(nèi)聯(lián) HTML | 可以在 Markdown 中使用部分 HTML 標(biāo)簽和屬性 |
自動(dòng)鏈接 | 使用 <鏈接地址> 自動(dòng)將鏈接轉(zhuǎn)換為可點(diǎn)擊的鏈接 |
轉(zhuǎn)義字符 | 使用反斜杠 \ 對(duì)特殊字符進(jìn)行轉(zhuǎn)義 |
刪除線 | 使用 ~~文本~~ 標(biāo)記刪除線 |
注釋 | 使用 <!-- 注釋內(nèi)容 --> 插入注釋 |
轉(zhuǎn)義特殊字符 | 使用 & 加上特殊字符代碼轉(zhuǎn)義特殊字符 |
內(nèi)嵌 LaTeX 公式 | 使用 $ 公式 $ 或 $$ 公式 $$ 插入內(nèi)嵌 LaTeX 公式 |
定義 HTML 錨點(diǎn) | 使用 <a name="錨點(diǎn)名稱"></a> 定義 HTML 錨點(diǎn) |
自定義標(biāo)題標(biāo)識(shí)符 | 使用 {#標(biāo)識(shí)符} 自定義標(biāo)題的 ID 屬性 |
高亮顯示代碼 | 使用三個(gè)反引號(hào)后加語言名稱來高亮顯示代碼塊 |
表格對(duì)齊 | 使用冒號(hào) : 在表格中指定對(duì)齊方式 |
注腳鏈接 | 使用 [^腳注名稱] 創(chuàng)建注腳鏈接 |
自動(dòng)鏈接郵箱地址 | 使用 <郵箱地址> 自動(dòng)將郵箱地址轉(zhuǎn)換為可點(diǎn)擊的鏈接 |
自動(dòng)鏈接 URL | 使用 <鏈接地址> 自動(dòng)將 URL 轉(zhuǎn)換為可點(diǎn)擊的鏈接 |
轉(zhuǎn)義 HTML 標(biāo)簽 | 使用反斜杠 \ 轉(zhuǎn)義 HTML 標(biāo)簽 |
內(nèi)嵌圖表 | 使用 {{圖表代碼}} 在 Markdown 中插入圖表 |
轉(zhuǎn)義 Markdown 標(biāo)記 | 使用反斜杠 \ 轉(zhuǎn)義 Markdown 標(biāo)記 |
定義圖片尺寸 | 使用 <img> 標(biāo)簽并指定 width 和 height 屬性定義圖片尺寸 |
擴(kuò)展語法(GFM) | GitHub Flavored Markdown(GFM)提供了更多語法擴(kuò)展,如任務(wù)列表 |
目錄 | 使用 [TOC] 自動(dòng)生成目錄 |
請(qǐng)注意,這只是 Markdown 語法的一部分,而且不同的 Markdown 解析器可能會(huì)有略微不同的語法支持。
Typora是一款簡單高效的Markdown編輯器,使您可以輕松編寫和編輯純文本。讓您覺得它實(shí)際上是一個(gè)系統(tǒng)自帶應(yīng)用程序。通過為您提供所有必要的工具和一個(gè)組織良好的環(huán)境,使Markdown編輯任務(wù)看起來像是在散步。
Typora 為您提供作為讀者和作者的無縫體驗(yàn)。它刪除了預(yù)覽窗口、模式切換器、Markdown 源代碼的語法符號(hào)以及所有其他不必要的干擾,代之以實(shí)時(shí)預(yù)覽,以幫助您專注于內(nèi)容本身。
軟件下載地址:https://alonggjx.com/1.html
typora - 文本編輯器
EmEditor Pro – 強(qiáng)大的文本編輯器專業(yè)版,為程序員、Web 開發(fā)人員和普通用戶提供語法說明和 Unicode 支持。編輯器功能包括使用正則表達(dá)式在文件中搜索和替換、自動(dòng)檢測代碼、突出顯示鏈接和電子郵件地址、塊選擇模式、配置按鈕欄、菜單、字體和顏色元素。對(duì)于每種語言,您可以設(shè)置單獨(dú)的配置。該程序還支持用 javascript 或 VBScript 編寫的強(qiáng)大宏,使您可以捕獲經(jīng)?;蚺紶柺褂玫膸缀跞魏尾僮鳌?/span>
軟件下載地址:https://alonggjx.com/146.html
EmEditor pro -文本編輯器
人們使用 Markdown 的主要原因是它的簡潔性和易用性。與其他標(biāo)記語言相比,Markdown 的語法更簡單,使得寫作和編輯變得更加高效。它使得編寫文檔和博客成為一種愉快的體驗(yàn),同時(shí)也方便了文檔的版本控制和協(xié)作編輯。此外,Markdown 的純文本格式使得文件易于存儲(chǔ)、分享和遷移,不受特定軟件或平臺(tái)的限制。因此,Markdown 成為了許多人在寫作和記錄文檔時(shí)的首選工具。
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。