Мне очень не повезло в попытке восстановить экспорт ICAL в Google Calendar. Проблема заключается в том, что длинное описание (поле Описание) будет иметь разрыв строки, содержащий эти символы:Regex для восстановления строк в Google Calendar ICAL export
[FIRST LINE] 0d 0a 20 [SECOND LINE]
Так что это возврат каретки \ г, а New Line \ п и простое пространство. Я делаю это в preg_replace PHP - почему этот не работает?
$text = preg_replace('/\r\n\s/', '', $text);
Заранее спасибо.
EDIT:
выше регулярное выражение работает отлично; проблема была где-то в другом месте. Предпосылки: Это плагин wordpress, который импортирует файлы ICAL. При чтении файла ICAL некоторый синтаксический анализ просто удалил все новые строки. Так что это вопрос уровня 8 от моего имени. Спасибо всем!
Я просто догадываюсь, но вам, вероятно, нужно использовать «многострочный режим», так как '\ r \ n' отмечает конец строки, и пространство не будет сопоставлено. Я не знаю PHP, поэтому я не могу показать вам, как это сделать. – alan
echo strlen (preg_replace ('/ \ r \ n \ s /', '', "a \ r \ n b")); выходы 2 ... кажется, работают для меня. Вы уверены, что ваши данные имеют этот формат? – Christoph
@alan: попробовал/м, но не работал. – squeakingsneaker