2011-04-11 95 views
-2
<?php if (!empty(cutstr($node->content,300))) : ?> 
     <div class="pr_teaser"> 
     <?php echo cutstr($node->content,300); ?> 
     </div> 
    <?php endif; ?> 

代碼有什麼問題? cutstr功能沒問題。我的IDE對此行提醒<?php if (!empty(cutstr($node->content,300))) : ?>是錯誤的?但我找不到錯誤。代碼有什麼問題?

+7

是什麼讓你覺得有什麼錯呢? (即,你期望輸出什麼,你會得到什麼輸出?) – Quentin 2011-04-11 08:22:54

+0

絕對錯誤的是你沒有使用'htmlspecialchars()'來轉義輸出。 – Tomalak 2011-04-11 08:25:29

+0

閱讀文檔有助於:http://php.net/manual/en/function.empty.php。請注意該筆記。 – 2011-04-11 08:26:50

回答

4

empty()僅檢查變量爲 其他任何情況都會導致解析 錯誤。換句話說,以下 將不起作用:空(trim($ name))。

http://php.net/manual/en/function.empty.php

你需要做這樣的事情:

<?php $value=cutstr($node->content,300); if (!empty($value)) : ?> 
    <div class="pr_teaser"> 
    <?php echo $value; ?> 
    </div> 
<?php endif; ?> 
+0

明白了。謝謝 – zhuanzhou 2011-04-11 08:26:52