2013-08-31 2 views
1

У меня есть форма, и я хочу найти, когда в тексте есть две новые строки. Я имею в виду \n\n или <br/><br/> toguether. В его пример я пытаюсь найти расстояние между вторым и третьим пунктом:Найти и заменить 2 новые строки в строке

First paragraph 
Second paragraph 

Third paragraph 

я могу найти один "\n" и заменить, когда есть только одна новая линия:

$p = str_replace("\n", "replace", $text); 

Но я не могу найти, когда есть 2 toguether. Я стараюсь \n\n и <br/><br/> и он не работает:

$p = str_replace("\n\n", "replace", $text); 

ответ

3

Вы можете вместо этого воспользоваться помощью preg_replace:

$p = preg_replace('/(\r?\n){2}/', "replace", $text) 

Это заменит 2 последовательных символы новой строки со словом replace. Он также будет включать в себя новые символы линии Windows, то есть \r\n

+0

Он работает очень хорошо, спасибо. Можете ли вы объяснить, пожалуйста:/(\ r? \ N) {2}/или где я могу найти информацию о том, как писать такие выражения? – Nrc

+0

Nrc: Поиск в Google ** регулярного выражения ** или ** regex ** должен включать некоторые полезные ресурсы. – PleaseStand

+0

'\ r? \ N' означает' \ n', которому необязательно предшествуют '\ r' и' (\ r? \ N) {2} 'означает 2 их появления. – anubhava

Смежные вопросы