2010-11-19 15 views
0

herkes, Bunun bir özellik ve bir hata olduğundan eminim ve burada bariz bir şeye bakıyorum. Ama ben sadece göremiyorum.strip_tags, belirli bir dizgi içeriyorken erken geri döner - neden?

Kısa etiketleri sarılı bazı PHP şeylerle biberli HTML oluşur aşağıdaki kod, adres:

$wtf = <<<WTF 
<h1>First header</h1> 
<p class="intro">First line of text</p> 
<h2>Second header</h2> 
<p>Second line of text</p> 
<?= showImg ('image.jpg'); ?> 
<p>Third line of text</p> 
<?= showImg ('image.jpg', ''); ?> 
<p>Fourth line of text</p> 
<?= showImg ('image.jpg', '', ''); ?> 
<p>Fifth line of text</p> 
<?= showImg ('image.jpg', '', 'class="content"'); ?> 
<p>Sixth line of text</p> 
WTF; 
echo strip_tags ($wtf);[/CODE] 

Bunun çıktısı aşağıdadır:

First header 
First line of text 
Second header 
Second line of text 

Third line of text 

Fourth line of text 

Fifth line of text[/CODE] 

Eğer altıncı görebileceğiniz gibi metin satırı çıktıya dahil değildir. suçlu,

<?= showImg ('image.jpg', '', 'class="content"'); ?> 

doğrusu, ShowImg() çağrısında Üçüncü parametre önceki hattıdır. Strip_tags() bu bölümle karşılaşır ulaşmaz, sadece bir hata mesajı görüntülemeden çıkar ve şimdiye kadar işlenen metni döndürür. Bu da, bir şekilde işlenmesi gereken veri sonuyla karşılaştığına inanmamı sağlar.

Neden? Bu arada

, bit kendisi bunu çalıştırdığınızda çalışıyor ve hatta tam hata raporlama ile hiçbir sözdizimi ile ilgili uyarılar veya hatalar oluşturur, bu yüzden geçerli ve izin verilen sözdizimi olduğuna inanıyoruz. Evet, kısa etiketler kullanmanın iyi bir fikir olup olmadığına dair tüm yarı dinsel tartışmanın farkındayım, ama şu anda bunu kullanıyorum ve bilmek istediğim tek şey strip_tags'ın neden bu üçüncü parametre ile karşılaştığı zaman erken dönmesidir. showImg() çağrısı.

Google, diğer forumlarda ve StackOverflow'da arama, aydınlanma ile sonuçlanmadı. Burada neler olduğunu kimse anlatabilir mi? Teşekkürler - çok takdir edilecektir!

// Frank

cevap

0

sorun heredoc sözdizimi ilişkili değildir; Sadece bu örnekte kullandım. Sorun, verilerin nasıl elde edildiğine bakılmaksızın elde edilen strip_tags'a verilen dize verileridir. Bir fonksiyondan döndürülür, her zamanki $ string = "fubar" sözdizimini kullanarak bir değişkene atanır veya her neyse.

İlgili konular