在preg_match中获得匹配不起作用

时间:2015-11-20 12:03:34

标签: php regex preg-match

我一直在努力了解如何让preg_match使用以下模式:

\[flexvideo.* id="(?<id>[^"']+)" type="(?<type>[^"']+)".*\]\iU

实际上,我有以下代码:[flexvideo id="" type="" aspect=""]

也可以写成:[flexvideo id='' type='' aspect='']

属性可以是任何顺序。

我不明白的是,当我使用'代替"时,我得不到匹配的结果,而另一个则没有。

此外,如果没有匹配,我希望匹配显示空字段。

以下是我一直在使用的内容:http://www.phpliveregex.com/p/dGA

1 个答案:

答案 0 :(得分:0)

使用

  • [&#34; \&#39;] =&gt; &#34;或&#39;
  • [^&#34; \&#39;] * =&gt;任何char除外&#34;和&#39; 0次或更多次

代码:

Array
(
    [0] => [flexvideo id="" type='biuahsdiuasd' aspect="c"]
    [id] => 
    [1] => 
    [type] => biuahsdiuasd
    [2] => biuahsdiuasd
)

输出:

squeeze