PHP ile HTML special chars ile filtrelenmiş kodları tekrar HTML koda çevirme fonksiyonu

 
PHP  
439  

Formlardan gelen verileri zararlı güvenlik açığı yaratmaması için htmlspecialchars() gibi fonksiyonlarla Special HTML karakterlere çeviririz. Fakat bu karakterlerden bazılarını kod olarak almamız gerekebilir.

Örneğin embed, frame kodları ve parametrelerini almak için kendi yazdığım fonksiyonu paylaşıyorum.

php kodu:<?php
/* Coder By Ali Mantar */

function htmlTagCoz($data) {
$ara = Array("#src="(.*?)"#is","#height="[0-9pxtem]"#is","#width="[0-9pxtem]"#is","#align="[centrighlf]"#is","#name="(.*?)"#is","#pluginspage="(.*?)"#is","#pluginurl="(.*?)"#is","#hidden="(.*?)"#is","#href="(.*?)"#is","#target="(.*?)"#is","#autostart="(.*?)"#is","#loop="(.*?)"#is","#playcount="(.*?)"#is","#volume="(.*?)"#is","#controls="(.*?)"#is","#controller="(.*?)"#is","#mastersound="(.*?)"#is","#starttime="(.*?)"#is","#endtime="(.*?)"#is","#value="(.*?)"#is","#longdesc="(.*?)"#is","#marginheight="(.*?)"#is","#marginwidth="(.*?)"#is","#scrolling="(.*?)"#is","#vspace="(.*?)"#is","#hspace="(.*?)"#is","#frameborder="(.*?)"#is","#<embed (.*?)>#is","#<iframe (.*?)>(.*?)</iframe>#is");
$deg = Array(“src=\"$1\"","height=\"$2\"","width=\"$3\"","align=\"$4\"","name=\"$5\"","pluginspage=\"$6\"","pluginurl=\"$7\"","hidden=\"$8\"","href=\"$9\"","target=\"$10\"","autostart=\"$11\"","loop=\"$12\"","playcount=\"$13\"","volume=\"$14\"","controls=\"$15\"","controller=\"$16\"","mastersound=\"$17\"","starttime=\"$18\"","endtime=\"$19\"","value=\"$20\"","longdesc=\"$21\"","marginheight=\"$22\"","marginwidth=\"$23\"","scrolling=\"$24\"","vspace=\"$25\"","hspace=\"$26\"","frameborder=\"$27\"","","<iframe $28>$29</iframe>");
return preg_replace($ara, $deg, $data);
}
?>

İyi çalışmalar dilerim.