我有preg_match_all的这种模式:/(<span[^>]*value=.?(\w*).?[^>]*annotation[^>]*>)(.*?)<\/span>/
适用于此文本:
example<span id="Marky100120131906070" class="myMarkGen" value="247" name="annotation">logy.*-/+!\"·$%&/()=?¿hi </span>example
但在这种情况下这不起作用:
example<span id="Marky100120131906070" class="myMarkGen" value="247" name="annotation">logy.*-/+!\"
·$%&/()=?¿hi </span>example
请注意,有一个换行符
在这两种情况下都可以使用的模式是什么,无论跨度的内容如何都可以使用?我需要跨越的文本和span的值
你可以尝试here
答案 0 :(得分:3)
它将执行的修改器:
/(<span[^>]*value=.?(\w*).?[^>]*annotation[^>]*>)(.*?)<\/span>/smi