PHP:htmlspecialchars

时间:2012-04-11 11:32:51

标签: php htmlspecialchars

我是编程的新手,我正在尝试将htmlspecialchars应用到下面的脚本中,但所有尝试都只是导致错误消息。我相信它应该是这样的:echo htmlspecialchars($ lines),但不确定这将如何应用于下面的代码,或者我是否应该使用其他东西。

最终结果应该转换来自.txt文件的文本: 安娜说她“不会去汉娜家”。

于: 安娜说她“不会去汉娜的家”。

<?php
$lines = file('users.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
uasort($lines, 'strnatcasecmp');

foreach ($lines as $num => $line) { 
printf("%s (line #%d)<br>", $line, $num);
}
?>

3 个答案:

答案 0 :(得分:2)

<?php
$lines = file('users.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
uasort($lines, 'strnatcasecmp');

foreach ($lines as $num => $line) { 
$line = htmlspecialchars(stripslashes($line), ENT_QUOTES, 'UTF-8');
printf("%s (line #%d)<br>", $line, $num);
}
?>

stripslashes()会为您删除该内容的斜杠。

即使htmlspecialchars()不会处理斜杠,我也会将它们包括在内,因为在用户生成的数据上使用它是很好的形式(我假设文本文件中有用户生成的数据)。

答案 1 :(得分:0)

试试stripslashes()

<?php
$lines = file('users.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
uasort($lines, 'strnatcasecmp');

foreach ($lines as $num => $line) { 
printf("%s (line #%d)<br>", stripslashes($line), $num);
}
?>

答案 2 :(得分:0)

试试这个:

<?php
    $lines = file('users.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    uasort($lines, 'strnatcasecmp');

    foreach ($lines as $num => $line) { 
        echo htmlspecialchars("$line (line #$num)<br>");
    }
?>