-1

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

最终结果应将 .txt 文件中的文本转换为: Anna said she \"wouldn\'t go to Hannah\'s house\"。

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

<?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);
}
?>
4

3 回答 3

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()不会处理斜线,我也将它们包含在内,因为在用户生成的数据上使用它是一种很好的形式(我假设文本文件中包含用户生成的数据)。

于 2012-04-11T11:35:37.330 回答
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);
}
?>
于 2012-04-11T11:34:29.060 回答
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>");
    }
?>
于 2012-04-11T11:35:34.663 回答