2016-12-31 4 views
1

Я пытаюсь захватить все вхождения GitHub приправленных блоков кода Markdown, а затем удалить их из конечного результата моего приложения. У меня есть соответствующий шаблон RegEx, который можно увидеть здесь: http://www.regexpal.com/?fam=96555, однако, когда я запускаю его в функции preg_replace, он не может удалить блок кода.preg_replace GitHub ароматизированный код уценки и удалить

Вот функция preg_replace я бегу:

preg_replace("/(```[a-z]*\n[\s\S]*?\n```)/", "", $content); 

Вот оригинальное содержание Я бегу это против, которая возвращает неизменным при его запуске через выше функции:

```php 
<?php echo 'test'; ?> 
``` 
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia 
Curae; Donec velit neque, auctor sit amet aliquam vel, ullamcorper sit amet ligula. 
Donec rutrum congue leo eget malesuada. Curabitur non nulla sit amet nisl 
tempus convallis quis ac lectus. Donec sollicitudin molestie malesuada. Nulla 
porttitor accumsan tincidunt. Curabitur aliquet quam id dui posuere blandit. 

конечный результат должен быть:

Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia 
Curae; Donec velit neque, auctor sit amet aliquam vel, ullamcorper sit amet ligula. 
Donec rutrum congue leo eget malesuada. Curabitur non nulla sit amet nisl 
tempus convallis quis ac lectus. Donec sollicitudin molestie malesuada. Nulla 
porttitor accumsan tincidunt. Curabitur aliquet quam id dui posuere blandit. 

Любая помощь будет принята с благодарностью. Спасибо!

ответ

1

Попробуйте с \R, который является побегом для любой последовательности очередей вместо \n.

preg_replace('/```[a-z]*\R.*?\R```/s', "", $content); 
  • Может быть, у вас есть \r между [a-z] и \n
  • Чтобы проверить заменить [a-z]*\n на [a-z]*\r?\n
  • Далее используется .*?с матча дот все флаг s

Here is a demo at eval.in

Также обратите внимание, что ваш шаблон действительно выглядит like this при использовании двойных кавычек (не проблема).

+0

Пятно на сэра! Благодарю вас! – voodooGQ

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