2009-12-09 28 views
36

PHP'de HTML kodlamanın en kolay yolu nedir?Html PHP'de kodlama

+3

Onun ASP.NET yöntemi "htmlencode" için php eşdeğer olduğunu düşünür. Girdiyi < ile '<' gibi karakterleri değiştirerek görselleştirmek için kullanılır. Onları uzaklaştırmak istemiyor. –

cevap

41

Kodlamakla, şunu demek istiyorsun: Tüm geçerli karakterleri HTML varlıklarına dönüştürün?

htmlspecialchars veya htmlentities

tüm HTML etiketlerini kaldırmak istiyorsanız da sayisinda strip_tags kullanabilirsiniz

:

strip_tags

Not: Bu tüm XSS attacks

+1

Kullanmam gereken bir şey değilim. XSS-atalarından kaçınmak için buna ihtiyacım var. –

+1

Sonra htmlspecialchars hile yapmalısınız. Veya FILTER_SANITIZE_SPECIAL_CHARS filtresiyle filter_var'ı kullanın. Çoğu durumda – Arkh

+6

'htmlspecialchars'> htmlentities'. ASCII olmayan karakterler için HTML varlıkları geçmişte kalmalıdır; sadece UTF-8 kullanın ve karakterleri doğrudan bırakın. – bobince

4

Encode.php durmayacak

<h1>Encode HTML CODE</h1> 

<form action='htmlencodeoutput.php' method='post'> 
<textarea rows='30' cols='100'name='inputval'></textarea> 
<input type='submit'> 
</form> 

htmlencodeoutput.php

<?php 

$code=bin2hex($_POST['inputval']); 
$spilt=chunk_split($code,2,"%"); 
$totallen=strlen($spilt); 
$sublen=$totallen-1; 
$fianlop=substr($spilt,'0', $sublen); 
$output="<script> 
document.write(unescape('%$fianlop')); 
</script>"; 

?> 
<textarea rows='20' cols='100'><?php echo $output?> </textarea> 

Böyle HTML kodlamak.

0

bu deneyin:

<?php 
    $str = "This is some <b>bold</b> text."; 
    echo htmlspecialchars($str); 
?>