我目前正在努力解決正則表達式。我處理的一些字符串末尾有換行符,有些則沒有。但我希望這些換行符位于我添加的 html 之外。起初,我的正則表達式中沒有換行符代碼,但后來換行符在結束標記之前返回。我用當前代碼修復了這個問題,但現在它不再正確處理末尾沒有換行符的字符串。因此,我嘗試更改我的代碼,以在存在換行符時返回換行符,但在沒有換行符時也處理字符串。我當前的代碼:preg_replace('/^(m:|maken:)(.*)([\r\n])/i', $makenblokje . '<em class="markeerroze">$2</em>$3', $regel, 1, $teller);
^^^^^^^^ ^^我認為解決方案應該在下劃線部分,但我還無法用我正在尋找的結果來修復它。
2 回答

瀟湘沐
TA貢獻1816條經驗 獲得超6個贊
您可以通過在模式后面加上 a 將模式設為可選(即允許有 0 或 1 個實例)?
,因此這應該可以為您完成:
'/^(m:|maken:)(.*)([\r\n])?/i'
但我認為刪除所有傳入的換行符會更容易,無論如何它們都不會在輸出中呈現。

慕勒3428872
TA貢獻1848條經驗 獲得超6個贊
[\r\n]
匹配\r
或\n
. 為了匹配任何類型的換行符,請使用\R
和?
使其可選:
preg_replace('/^(m:|maken:)(.*)(\R?)/i', $makenblokje . '<em class="markeerroze">$2</em>$3', $regel, 1, $teller);
- 2 回答
- 0 關注
- 172 瀏覽
添加回答
舉報
0/150
提交
取消