我有一個PHP程序,着眼於一個日誌文件,並將其打印到一個頁面(下面的代碼)呼應的東西。我不希望所述網站的用戶能夠查看包含/
的任何行。我知道我可以使用trim來刪除某些字符,但是有沒有辦法刪除整行?例如,我想保留諸如「你好」之類的東西,並刪除像/xx.xx.xx.xx connected
之類的東西。我希望刪除的所有行都有相同的公用密鑰/
。人民在所述日誌文件名具有身邊<>
S,所以我必須用htmlspecialcharacters
不要用某些字符
$file = file_get_contents('/path/to/log', true);
$file = htmlspecialchars($file);
echo nl2br($file);
感謝您的幫助!
編輯: 感謝所有的答案,目前與他們擺弄!
EDIT2: 最終代碼:
<?php
$file = file_get_contents('/path/to/log', true);
// Separate by line
$lines = explode(PHP_EOL, $file);
foreach ($lines as $line) {
if (strpos($line, '/') === false) {
$line = htmlspecialchars($line . "\n");
echo nl2br($line);
}
}
?>
GOogle正則表達式.....應該讓你開始 – KyleK
目前你正在使用'='而不是''=' – metadings
'這個字符串加倍,但是沒有理由先放入'\然後立即將它變成'
'。只要做'htmlspecialchars($ line)'。'首先放置'
',然後放下'nl2br()'。由於您一次只讀一行,因此可以保證沒有其他換行符。 – JJJ