本文目錄一覽:
- 1、PHP怎樣過濾中文狀態下特殊字符(比如標點符號)?
- 2、<a href='#php 如何過濾 單引號 雙引號 $ 等N種特殊符號?謝謝’ title=’php 如何過濾 單引號 雙引號 $ 等N種特殊符號?謝謝’>php 如何過濾 單引號 雙引號 $ 等N種特殊符號?謝謝
- 3、PHP中的雙引號和單引號的應用
PHP怎樣過濾中文狀態下特殊字符(比如標點符號)?
function filterGBK_SpecialChars($str)
{
$str =urlencode($str);//將關鍵字編碼
//下面的必須寫在一行,不可換行截斷
$str=preg_replace(“/(%7E|%60|%21|%40|%23|%24|%25|%5E|%26|%27|
%2A|%28|%29|%2B|%7C|%5C|%3D|\-|_|%5B|%5D|%7D|%7B|%3B|%22|%3A|
%3F|%3E|%3C|%2C|\.|%2F|%A3%BF|%A1%B7|%A1%B6|%A1%A2|%A1%A3|%A3%AC|
%7D|%A1%B0|%A3%BA|%A3%BB|%A1%AE|%A1%AF|%A1%B1|%A3%FC|%A3%BD|%A1%AA|
%A3%A9|%A3%A8|%A1%AD|%A3%A4|%A1%A4|%A3%A1|%A1%AB|%A3%FB|%A3%FD|%A1%BE|
%A1%BF|)+/”,”,$str);
$str =urldecode($str);//將過濾後的關鍵字解碼
return $str;
}
$str=’廣~·@#¥%……*()——+|-=、{}【】:;「」『』~「《》,。?、州;?海【,鮮。餐「」】(,廳) ‘;
echo filterGBK_SpecialChars($str);
<h2 id='php 如何過濾 單引號 雙引號 $ 等N種特殊符號?謝謝’>php 如何過濾 單引號 雙引號 $ 等N種特殊符號?謝謝
我給樓主吧- – 首先是過濾html,將html編碼轉換為實體編碼 /**
* 將特殊字符轉成 HTML 格式。
* @param string $value – 字符串或者數組
* @return array
*/
public static function htmlspecialchars($value) {
return is_array($value) ? array_map(‘k::htmlspecialchars’, $value) :
preg_replace(‘/((#(\d{3,5}|x[a-fA-F0-9]{4})|[a-zA-Z][a-z0-9]{2,5});)/’, ‘\\1’,
str_replace(array(”, ‘”‘, ”, ”), array(”, ‘”‘, ”, ”), $value));
} 還有一個去除html編碼的,可以直接用php的函數strip_tags()
PHP中的雙引號和單引號的應用
無論是書寫
JavaScript
還是
PHP,總習慣於使用單引號。但周末在家
coding
的時候碰到個問題,需要通過
PHP
過濾字符串中的換行符,按照下面的方法操作:
$out
=
str_replace(array(‘rn’,
‘r’,
‘n’),
”,
$out);PHP
提供三種定義字符串的方法:單引號、雙引號、本地文檔(英文叫做
here
document
或者
heredoc)。
單引號:
使用單引號是最高效的方法,因為
PHP
不會檢查單引號字符串中的內置變量和轉義序列,需要轉義的字符只有反斜杠和單引號本身。
雙引號:
會檢查內置變量和轉義序列,但不能識別轉義的單引號。這也正說明了開始那段代碼的錯誤之處,正確的做法是使用雙引號來定義換行的轉義序列:
$out
=
str_replace(array(“rn”,
“r”,
“n”),
”,
$out);本地文檔:
檢查所有的內置變量和轉義序列,雙引號無需轉義。例如:
echo
this
is
a
“here
document”
example.
just
for
test.
EOT;簡單記錄下,加深印象。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/194715.html