-2

我有这样的文字:

hi this is <some-tag parameter="abc"> example text with 
quote sign here " and also some quote sign here " and here ". 
Quote does not have to be closed. And some numbers here 123.
</some-tag>

正则表达式应匹配上面示例中的“”“(3 次”)。

基本上,我需要的是使用正则表达式匹配由><括号包围的所有双引号 ( " )。

请注意,我不是在寻找标签或 <> 之间的任何内容,我只是在寻找 >< 之间的双引号,例如:> " <

有任何想法吗?谢谢你。

4

3 回答 3

0

这将做到:

preg_match_all('/<.*"([^"])".*>/', $text);

但不是以任何人都会推荐使用的理智方式。如果您想要代码中的实际健全性,请使用 XML/HTML/DOM 解析器。

于 2013-11-04T23:36:12.203 回答
0

/<[^>] =("[^>] )">/ 会给你你的标签

这个网站可以帮助你:http ://www.phpliveregex.com/

于 2013-11-04T23:51:18.993 回答
-1

我同意@Sammitch 的建议(关于使用解析器)。不过,参考您提供的示例,您可以尝试以下操作:

(?<=>[\s\S-[<]]*?)"

这是一个演示

于 2013-11-05T00:34:17.683 回答