2016-07-06 17 views
0
$data = '| years_active = 1960–70 | label = '; 
preg_match('active(.*?)label', $data, $matches); 
echo print_r($matches); 

Ich erwartete, dass dies ein Array ausgegeben, das den Wert enthält: '= 1960 - 70 | ', aber ich bekomme nur die Ausgabe: 1.Mit preg_match eine Zeichenfolge in einer Zeichenfolge extrahieren?

Idealerweise versuche ich nur zu extrahieren:' 1960 - 70 '.

Wohin gehe ich falsch? Vielen Dank.

Antwort

0

Ihr Echo des Ergebnisses von print_r(), "Wenn Sie die Ausgabe von print_r() erfassen möchten, verwenden Sie den Parameter return. Wenn dieser Parameter auf TRUE gesetzt ist, gibt print_r() die Information zurück und nicht print es." http://php.net/manual/en/function.print-r.php

Sie müssen auch $ treffer vordefinieren als preg_match zu diesem Array den Referee nimmt und Sie verpfuschte die Regex: '/active(.*)label/'

<?php 
$matches = array(); 
$data = '| years_active = 1960–70 | label = '; 
preg_match('/active(.*)label/', $data, $matches); 
var_dump($matches); 
Verwandte Themen