Rumah pembangunan bahagian belakang tutorial php 收藏一些规范化输入输出的PHP函数_PHP教程

收藏一些规范化输入输出的PHP函数_PHP教程

Jul 13, 2016 am 10:33 AM
Seragamkan Input dan output

在PHP网站开发过程中会遇到很多需要转义的地方,下面推荐几个很好的函数,可以很好地增强网站的输入输出规范化问题。

1. 纯文本输出,适合input

function t($text){
	$text = h($text);
	$text = strip_tags($text);
	return $text;
}
Salin selepas log masuk

2. 多行纯文本 适合textarea

function text($text)
{
    return trim(nl2br(str_replace(' ', ' ', htmlspecialchars($text))));
}
Salin selepas log masuk

3. 将html换行变成回车

function br2nl($text)
{
   	return trim(preg_replace('/<br\\s*\/?'.'>/i', '', $text));
}
Salin selepas log masuk

4. 输出安全的html

function h($text){
	$text = trim($text);
	$text = stripslashes($text);
	//完全过滤注释
	$text = preg_replace('/<!--?.*-->/','',$text);
	//完全过滤动态代码
	$text = preg_replace('/<\?|\?'.'>/','',$text);
	//完全过滤js
	$text = preg_replace('/<script?.*\/script>/','',$text);
	$text = str_replace('[','[',$text);
	$text = str_replace(']',']',$text);
	$text = str_replace('|','|',$text);
	//过滤换行符
	$text = preg_replace('/\r?\n/','',$text);
	//br
	$text = preg_replace('/<br(\s\/)?'.'>/i','[br]',$text);
	$text = preg_replace('/(\[br\]\s*){10,}/i','[br]',$text);
	//hr img area input
	$text = preg_replace('/<(hr|img|input|area|isindex)( [^><\[\]]*)>/i','[\1\2]',$text);
	//过滤多余html
	$text = preg_replace('/<\/?(html|head|meta|link|base|body|title|style|script|form|iframe|frame|frameset)[^><]*>/i','',$text);
	//过滤on事件lang js
	while(preg_match('/(<[^><]+)( lang|onfinish|onmouse|onexit|onerror|onclick|onkey|onload|onchange|onfocus|onblur)[^><]+/i',$text,$mat)){
		$text=str_replace($mat[0],$mat[1],$text);
	}
	while(preg_match('/(<[^><]+)(window\.|javascript:|js:|about:|file:|document\.|vbs:|cookie)([^><]*)/i',$text,$mat)){
		$text=str_replace($mat[0],$mat[1].$mat[3],$text);
	}
	//过滤合法的html标签
	while(preg_match('/<([a-z]+)[^><\[\]]*>[^><]*<\/\1>/i',$text,$mat)){
		$text=str_replace($mat[0],str_replace('>',']',str_replace('<','[',$mat[0])),$text);
	}
	//转换引号
	while(preg_match('/(\[[^\[\]]*=\s*)(\"|\')([^\2=\[\]]+)\2([^\[\]]*\])/i',$text,$mat)){
		$text=str_replace($mat[0],$mat[1].'|'.$mat[3].'|'.$mat[4],$text);
	}
	//过滤错误的单个引号
	while(preg_match('/\[[^\[\]]*(\"|\')[^\[\]]*\]/i',$text,$mat)){
		$text=str_replace($mat[0],str_replace($mat[1],'',$mat[0]),$text);
	}
	//转换其它所有不合法的 < >
	$text = str_replace('<','<',$text);
	$text = str_replace('>','>',$text);
	$text = str_replace('"','"',$text);
	//反转换
	$text = str_replace('[','<',$text);
	$text = str_replace(']','>',$text);
	$text = str_replace('|','"',$text);
	//过滤多余空格
	$text = str_replace(' ',' ',$text);
	return $text;
}
Salin selepas log masuk

5. 过滤脚本代码

function cleanJs($text){
	$text = trim($text);
	$text = stripslashes($text);
	//完全过滤动态代码
	$text = preg_replace('/<\?|\?'.'>/','',$text);
	//完全过滤js
	$text = preg_replace('/<script?.*\/script>/','',$text);
	//过滤多余html
	$text = preg_replace('/<\/?(html|head|meta|link|base|body|title|style|script|form|iframe|frame|frameset)[^><]*>/i','',$text);
	//过滤on事件lang js
	while(preg_match('/(<[^><]+)(lang|onfinish|onmouse|onexit|onerror|onclick|onkey|onload|onchange|onfocus|onblur)[^><]+/i',$text,$mat)){
		$text=str_replace($mat[0],$mat[1],$text);
	}
	while(preg_match('/(<[^><]+)(window\.|javascript:|js:|about:|file:|document\.|vbs:|cookie)([^><]*)/i',$text,$mat)){
		$text=str_replace($mat[0],$mat[1].$mat[3],$text);
	}
	return $text;
}
Salin selepas log masuk

6. 在编辑器中显示纯文本

function et($text)
{
	return trim(br2nl(str_replace(' ', ' ', $text )));
}
Salin selepas log masuk

7. 在html编辑器中显示html

function eh($text)
{
	return trim(str_replace('"','"', $text));
}
Salin selepas log masuk

8. 判断时间距离

function friendlyDate($sTime,$type = 'normal',$alt = 'false') {
	//sTime=源时间,cTime=当前时间,dTime=时间差
	$cTime = time();
	$dTime = $cTime - $sTime;
	$dDay = intval(date("Ymd",$cTime)) - intval(date("Ymd",$sTime));
	$dYear = intval(date("Y",$cTime)) - intval(date("Y",$sTime));
	//normal:n秒前,n分钟前,n小时前,日期
	if($type=='normal'){
		if( $dTime < 60 )
		{
   			echo $dTime."秒前";
		}
		elseif( $dTime < 3600 )
		{
   			echo intval($dTime/60)."分钟前";
		}
		elseif( $dTime >= 3600 && $dDay == 0 )
		{
   			echo intval($dTime/3600)."小时前";
		}
		elseif($dYear==0)
		{
   			echo date("m-d ,H:i",$sTime);
		}
		else
		{
   			echo date("Y-m-d ,H:i",$sTime);
		}
		//full: Y-m-d , H:i:s
	}
	elseif($type=='full')
	{
		echo date("Y-m-d , H:i:s",$sTime);
	}
}
Salin selepas log masuk

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/752446.htmlTechArticle在PHP网站开发过程中会遇到很多需要转义的地方,下面推荐几个很好的函数,可以很好地增强网站的输入输出规范化问题。 1. 纯文本输出,...
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menyeragamkan pengoptimuman prestasi melalui spesifikasi kod PHP Bagaimana untuk menyeragamkan pengoptimuman prestasi melalui spesifikasi kod PHP Aug 11, 2023 pm 03:51 PM

Cara menyeragamkan pengoptimuman prestasi melalui spesifikasi kod PHP Pengenalan: Dengan perkembangan pesat Internet, semakin banyak laman web dan aplikasi dibangunkan berdasarkan bahasa PHP. Dalam proses pembangunan PHP, pengoptimuman prestasi adalah aspek yang penting. Kod PHP berprestasi tinggi boleh meningkatkan kelajuan tindak balas tapak web dan pengalaman pengguna dengan ketara. Artikel ini akan meneroka cara menyeragamkan pengoptimuman prestasi melalui spesifikasi kod PHP dan menyediakan beberapa contoh kod praktikal untuk rujukan. 1. Kurangkan pertanyaan pangkalan data Pertanyaan pangkalan data yang kerap adalah ciri biasa semasa proses pembangunan.

Bagaimana untuk melakukan semakan gaya kod dan normalisasi dalam GitLab Bagaimana untuk melakukan semakan gaya kod dan normalisasi dalam GitLab Oct 25, 2023 am 08:38 AM

Cara melakukan semakan dan penyeragaman gaya kod dalam GitLab Gaya dan spesifikasi kod adalah sangat penting untuk pembangunan projek pasukan. Spesifikasi kod bersatu boleh meningkatkan kebolehbacaan kod, kebolehselenggaraan dan kebolehskalaan serta mengurangkan potensi pepijat dan ralat. Dalam pembangunan pasukan, dengan menggunakan alat kawalan versi seperti GitLab untuk mengurus kod projek, semakan gaya kod dan penyeragaman boleh dilakukan dengan mudah. Artikel ini akan memperkenalkan cara melakukan semakan dan penyeragaman gaya kod dalam GitLab, dan memberikan contoh kod khusus. Konfigurasikan pemeriksaan kod

Cara menyelesaikan: Ralat input dan output Java: Ralat membaca fail Cara menyelesaikan: Ralat input dan output Java: Ralat membaca fail Aug 17, 2023 pm 03:21 PM

Cara menyelesaikan: Ralat input dan output Java: Ralat membaca fail Apabila menggunakan Java untuk operasi membaca fail, kadangkala anda akan menghadapi ralat membaca fail. Ralat ini mungkin disebabkan oleh laluan fail yang salah, fail tidak wujud, kebenaran tidak mencukupi, dsb. Artikel ini akan menerangkan cara menyelesaikan masalah ralat membaca fail dalam ralat input dan output Java, dan menyediakan contoh kod untuk menggambarkan penyelesaiannya. Sahkan sama ada laluan fail adalah betul Apabila membaca fail dalam Java, anda mesti terlebih dahulu memastikan laluan fail adalah betul. Laluan fail boleh menjadi laluan mutlak

Penjelasan terperinci tentang cara menggunakan fungsi scanf dalam bahasa C Penjelasan terperinci tentang cara menggunakan fungsi scanf dalam bahasa C Feb 21, 2024 pm 06:30 PM

Penerangan terperinci dan contoh kod tentang cara menggunakan fungsi scanf dalam bahasa C ialah bahasa pengaturcaraan yang digunakan secara meluas dalam pelbagai pembangunan perisian. Fungsi input dan output memainkan peranan yang sangat penting dalam menulis program. Antaranya, fungsi scanf merupakan salah satu fungsi dalam bahasa C yang digunakan untuk membaca input standard Ia boleh membaca data dari papan kekunci mengikut format tertentu dan menyimpannya dalam pembolehubah yang ditentukan. Artikel ini akan memperkenalkan penggunaan fungsi scanf secara terperinci dan menyediakan beberapa contoh kod sebagai contoh. Mula-mula, mari kita lihat fungsi scanf

Bagaimana untuk mengoptimumkan pengesahan borang dan pengesahan input data dalam pembangunan PHP Bagaimana untuk mengoptimumkan pengesahan borang dan pengesahan input data dalam pembangunan PHP Oct 08, 2023 am 09:17 AM

Bagaimana untuk mengoptimumkan pengesahan borang dan pengesahan input data dalam pembangunan PHP [Pengenalan] Dalam pembangunan Web, pengesahan borang dan pengesahan input data adalah langkah yang sangat penting. Mereka boleh memastikan kesahihan dan keselamatan data yang dimasukkan oleh pengguna. Ia bukan sahaja dapat mengelakkan ralat input pengguna atau input berniat jahat, tetapi ia juga boleh melindungi pangkalan data atau aplikasi daripada serangan seperti suntikan SQL. Artikel ini akan memperkenalkan cara mengoptimumkan pengesahan borang dan pengesahan input data dalam pembangunan PHP, dan menyediakan contoh kod khusus. [1. Pengesahan sisi pelayan] Langkah pertama ialah memberikan pengguna

Petua praktikal untuk menormalkan dan memformat kod PyCharm Petua praktikal untuk menormalkan dan memformat kod PyCharm Feb 23, 2024 pm 02:54 PM

PyCharm ialah persekitaran pembangunan bersepadu (IDE) yang biasa digunakan oleh pembangun Python Ia menyediakan pelbagai fungsi dan alatan untuk meningkatkan kualiti dan kecekapan kod. Antaranya, penyeragaman dan pemformatan kod adalah salah satu langkah penting dalam menulis kod berkualiti tinggi. Artikel ini akan memperkenalkan beberapa teknik dan fungsi praktikal dalam PyCharm untuk membantu pembangun menyeragamkan dan memformat kod Python. Semakan spesifikasi PEP8 automatik PEP8 ialah panduan spesifikasi kod yang disediakan secara rasmi oleh Python, yang merangkumi satu siri gaya pengekodan, konvensyen penamaan, dsb.

Amalan piawai untuk mereka bentuk API RESTful dalam projek Vue Amalan piawai untuk mereka bentuk API RESTful dalam projek Vue Jun 09, 2023 pm 04:11 PM

Dengan pembangunan berterusan dan populariti rangka kerja bahagian hadapan, aplikasi satu halaman telah menjadi salah satu arus perdana dalam kalangan aplikasi web. Antaranya, Vue.js disukai oleh pembangun kerana kesederhanaan, kemudahan pembelajaran dan pembangunan yang cekap. Walau bagaimanapun, tidak seperti aplikasi web tradisional, aplikasi satu halaman perlu berinteraksi dengan API bahagian belakang untuk mendapatkan data dan melaksanakan pelbagai operasi. Untuk menjadikan interaksi antara bahagian hadapan dan bahagian belakang lebih mudah, cekap dan boleh diselenggara, adalah sangat penting untuk mereka bentuk amalan standard API RESTful dalam projek Vue. REHAT (Wakil

Apakah pernyataan input dan output dalam C++? Apakah pernyataan input dan output dalam C++? Feb 01, 2023 pm 05:31 PM

Pernyataan input dan output C++ termasuk: 1. penyata scanf(), digunakan untuk membaca input data daripada papan kekunci 2. pernyataan printf(), digunakan untuk mengeluarkan maklumat format yang ditentukan kepada peranti output standard, mewakili output standard; , apabila menggunakan cout untuk output, anda perlu mengikut operator "<<" 4. Pernyataan cin mewakili input standard, dan apabila menggunakan cin untuk input, anda perlu mengikut operator ">>".

See all articles