我正在尋找替換所有出現的空行字符跟隨新行(或在開始時發生的輸入字符串)。我知道我可以使用preg_replace_callback()和使用str_repeat和strlen的回調來實現這一點,或者類似地使用/ e開關;但想知道是否可以做得更簡單。PHP中的preg_replace() - 替換出現n次出現的字符時出現n次出現的另一個字符時,跟隨一個新行
目前,我有以下幾點:
$testData = " Hello\n to everybody\n in the world";
echo preg_replace('/^|\n()+/', ' ', $pValue);
這給:
" Hello to everybody in the world"
我真的什麼後:
" Hello\n to everybody\n in the world"
年齡多大? 'preg_ *'函數一直由PCRE庫提供支持,根據其更新日誌,PCRE自2003年2月4.0版以來支持'\ G'。 ref:http://www.pcre.org/changelog.txt – 2010-11-18 03:25:28
@Alan - 我完全不熟悉\ G運算符,並且知道PHP已經引入了許多新的regexp元素/開關隨着時間的推移。這是爲了提高性能,在一個開源庫中:我主要關注5.2.0(我通常不會提供對此的支持),但知道庫的某些用戶正在使用PHP的版本早在5.1.6 – 2010-11-18 09:31:16