php字元過濾
Ⅰ php 如何過濾特殊字元 如圖這是編輯器中的內容放在記事本文件中出現的,小黑格就是特殊字元
小黑點應該是換行符吧!
其實可以用
<?php
$string = "換行測試".chr(13).chr(10)."第二行測試";
$fp = fopen('a.txt','w+');
fwrite($fp,$string);
fclose($fp);
?>
Ⅱ php 正則過濾word裡面粘貼過來的標簽
用strip_tags()函數是最直接的了,用正則也行,以下是PHP手冊中的過濾標簽
<?php
$search = array ("'<script[^>]*?>.*?</script>'si", // 去掉 javascript
"'<[\/\!]*?[^<>]*?>'si", // 去掉 HTML 標記
"'([\r\n])[\s]+'", // 去掉空白字元
"'&(quot|#34);'i", // 替換 HTML 實體
"'&(amp|#38);'i",
"'&(lt|#60);'i",
"'&(gt|#62);'i",
"'&(nbsp|#160);'i",
"'&(iexcl|#161);'i",
"'&(cent|#162);'i",
"'&(pound|#163);'i",
"'&(|#169);'i",
"'(\d+);'e");
$replace = array ("",
"",
"\\1",
"\"",
"&",
"<",
">",
" ",
chr(161),
chr(162),
chr(163),
chr(169),
"chr(\\1)");
$text = preg_replace ($search, $replace, $document);
?>
Ⅲ 求一段php過濾字元串內所有img標簽的代碼
<?php
$a="哈哈哈<imgsrc='img.jpg'/>嘻嘻嘻<imgsrc='img.jpg'/>";
$a=preg_replace('/<img.*?/>/','',$a);
echo$a;
?>
Ⅳ php中數據過濾的問題
我來解釋一下吧
preg_replace('/[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F]/','',$string);
去掉控制字元,你google一下ascii table就知道了,php裡面 - 代表范圍,比如\x00-\x08指的是ASCII代碼在\x00到\x08范圍的字元,\x0A和\x0D代表回車換行,所以沒包含在這個裡面,否則直接\x00-\x1F了,
$string = str_replace(array("\0","%00","\r"),'',$string);
\0表示ASCII 0x00的字元,通常作為字元串結束標志
$string = preg_replace("/&(?!(#[0-9]+|[a-z]+);)/si",'&',$string);
我們知道HTML裡面可以用xx;來對一些字元進行編碼,比如 (空格), ߷ Unicode字元等,A(?!B) 表示的是A後面不是B,所以作者想保留 ߷類似的 HTML編碼字元,去掉其他的問題字元,比如 &123; nbsp;
str_replace(array("%3C",'<'),'<',$string);
第一個'<'多餘吧,%3C是編碼以後的 <, 一般用在URL編碼里
str_replace(array("%3E",'>'),'>',$string);
str_replace(array('"',"'","\t",' '),array('"',"'",'',''),$string);
略過
有問題再追問
Ⅳ php怎麼過濾特殊漢字
可以用一個文本或者一個表把特殊漢字按照一定規則存儲好,每次請求過來用strpos做過濾就好了,這種方式根據特殊漢字的多少而直接影響響應速度與訪問時長,不建議數據源過大。如果是數據源過大的話,可以考慮mysql的全文索引機制。如果是過濾所有漢字,就用ascii碼對照
