2016-09-02 8 views
0
geschrieben werden

Kürzlich I asked a question bezüglich preg_match_all mit PHP, und ich habe die perfekte Lösung erwartet wie aber jetzt habe ich einige anderes Szenariopreg_match_all mehrere Strings entsprechen und die Werte in doppelte Anführungszeichen

hier ist mein string:

$html = '<p> This is my Home Page.</p><p><span style="line-height: 1.42857;"> 
     {{ type="slider" pagename="slider-1" }} 
     {{ type="banner" pagename="banner-1" }} 
     {{ type="testimonial" pagename="testimonial-1" }} 
     </span></p><p> </p>'; 

Mein Code:

preg_match_all('/{{ type="(.+?)" }}/', $html, $matches, PREG_SET_ORDER); 

echo "<pre>"; 

print_r($matches); 

foreach ($matches as $val) { 

    echo $val[1]; 
    echo "<br/>"; 
} 
?> 

Ergebnis ich erhalte:

Array 
(
    [0] => Array 
     (
      [0] => {{ type="slider" pagename="slider-1" }} 
      [1] => slider" pagename="slider-1 
     ) 

    [1] => Array 
     (
      [0] => {{ type="banner" pagename="banner-1" }} 
      [1] => banner" pagename="banner-1 
     ) 

    [2] => Array 
     (
      [0] => {{ type="testimonial" pagename="testimonial-1" }} 
      [1] => testimonial" pagename="testimonial-1 
     ) 

) 
slider" pagename="slider-1 
banner" pagename="banner-1 
testimonial" pagename="testimonial-1 

Wie kann ich die Werte für slider und pagename Variable in {{ und }} im String geschrieben werden?

+2

Haben Sie versucht http://www.regex101.com zum Testen? Es funktioniert Wunder und wird Sie wahrscheinlich erziehen, wie man eine zweite einfangende Gruppe hinzufügt – zanderwar

Antwort

2

hier:

/{{ type=\"(.+)\"\s+pagename=\"(.+)\" }}/i 

In Aktion: https://regex101.com/r/tX9vD3/1

+0

Ich denke, dass Sie "m" den Modifikator benötigen – Mike

+0

@Mike, was ist das? –

+0

@Zanderwar Können Sie bitte einen Chatraum für unsere Diskussion erstellen? –

Verwandte Themen