ex:<a><strike>example data in here</strike></a>
我希望标签内的所有内容都到底
/<a>([^<]*)<\/a>/
当<a>
标记中没有其他标记时,它会起作用,但如果有的话会怎样?
我想知道您是否可以告诉它只抓取[^</a>]
而不是[^<]
的所有内容。
使用/<a>(.*)<\/a>/
执行该操作效果不佳。有时我会在<a>
标记中获取所有内容,有时我会在该调用中包含大量行。
答案 0 :(得分:78)
/<a>(.*?)<\/a>/
应该有效。的?使它变得懒惰,所以它在匹配</a>
部分之前尽可能少地抓取。但使用。将意味着它匹配所有内容,直到它找到</a>
。如果您希望能够跨行匹配,则可以使用以下preg_match
/<a>(.*?)<\/a>/s
最后的“s”将正则表达式置于“单行”模式,这意味着。字符匹配所有字符,包括新行。见other useful modifiers