2017-06-13 43 views
-1

如果我想從一個字符串中刪除多行preg_repl(用於多評論)

<!-- bof_foo --> 
some content 
<!-- eof_foo --> 

,什麼是pattern參數preg_repl?我原以爲

$pattern = "/<!-- bof_foo -->[.\n]*<!-- eof_foo -->/"; 

會工作,但它沒有。

+1

請參閱[此答案](https://stackoverflow.com/a/21574655/3832970)。請注意,'[。\ n]'匹配一個點和一個換行符。您可以使用'「/ <! - bof_foo - >。*?<! - eof_foo - >/s」' –

+1

將'[。\ n] *'改爲'[\ S \ s] *?'你很好走。到@WiktorStribiżew:這不是[RegExp去除HTML評論]的副本(https://stackoverflow.com/questions/1084741/regexp-to-strip-html-comments)。在那裏,問題是如何剝奪_any_評論。這個問題是如何將一個固定_from評論一路刪除到comment_。 – sln

+0

永遠不要使用這個' >> - >' – sln

回答

0

更改此

$pattern = "/<!-- bof_foo -->[.\n]*<!-- eof_foo -->/"; 

$pattern = "/<!-- bof_foo -->[\S\s]*?<!-- eof_foo -->/"; 

,它會工作。

+1

我使用'$ pattern =「結束了/ <! - bof_foo [\ s \ S] *?eof_foo - > /「;' –