2014-03-01 263 views
1

我有一個JavaScript代碼,可以用%0D%替換新行0A如何用%0D%0A替換新行與PHP

我需要PHP中的相同代碼。

這是我的JavaScript代碼看起來像:

text = text.replace(/\n\r?/g, '%0D%0A'); 

我試着用PHP,但我只得到一個行不換行。

回答

7

你不需要正則表達式了點。簡單的字符串替換就足夠了。
使用str_replace功能:

$test = 'Some very long text with multiple lines...'; 
$newText = str_replace(PHP_EOL, '%0D%0A', $text); 

換行符在不同的系統不同。硬編碼\n\r不是一個好主意。更好的解決方案是使用PHP_EOL不變。

+0

作品:)非常感謝:) – user1477332

+0

非常感謝。花點時間來接受答案:) – matewka

+1

PHP_EOL並不總是一個好的解決方案。它需要實際的PHP環境相關值。所以如果PHP在Windows下運行,它將是'\ r \ n'值。如果我的字符串只包含'\ n'作爲換行符? – barell

0

的Java代碼字面翻譯成PHP可以使用的preg_replace http://www.php.net/preg_replace

<?php 
$text = "some text"; 
$text = preg_replace("\r\n","%0D%0A",$text); 
?> 
+0

沒有必要使用'preg_replace'來做簡單的字符串替換。使用'str_replace'代替 - 它快得多。 – phidah

+0

最後一個美元符號丟失。 – ACJ