[英]preg_replace_callback with PHP_EOL does not work on Linux
我有一個 PHP 代碼,流程用戶輸入表單 html 表單,應該從代碼中刪除 PHP_EOL 標志。 如果我在本地 Win 10 機器上測試它,它運行良好。 但由於它在生產 Linux 服務器上,它沒有。 代碼如下:
$text = preg_replace_callback('/```([^`]+)```/', function($m) {
return '<pre class="prettyprint custom"><code>' . trim($m[1], PHP_EOL) . '</code></pre>';
}, $text);
我不確定,但我認為原因是輸入來自我的 Window 瀏覽器到 Linux。 我是對還是錯?
您必須修剪兩個結束符。 Linux \n
和 Windows \r\n
。 而不是使用PHP_EOL
至極僅代表當前系統上的換行符,您可以使用
trim($m[1],"\r\n")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.