2016-07-21 10 views
2

Ich versuche, Regex in PHP zu lernen. Warum führt dies dazu, dass in der letzten Zeile ein Konvertierungsfehler für ein Array auftritt und wie behebe ich es?PHP Regex führt zu Array-String-Konvertierung Fehler

$document = "{title}this is the title{/title}"; 
preg_match("/{title}(.*){\/title}/", $document, $match); 

echo $match; 
+2

'$ match' ist ein Array, verwenden Sie' print_r ($ match) ' –

+0

Auch für Lernzwecke, ein nützliches Werkzeug zum Spielen mit Regex und wie es mit PHP funktioniert, ist http: //www.phpliveregex. com –

Antwort

1

Siehe this demo:

$document = "{title}this is the title{/title}"; 
preg_match("/{title}(.*){\/title}/", $document, $match); 
//echo $match; // PHP Notice: Array to string conversion in /home/jxkaKh/prog.php on line 5 
print_r($match); 
// => Array( [0] => {title}this is the title{/title} [1] => this is the title) 

preg_match reference Siehe:

int preg_match (string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]])
...
matches
Wenn matches vorgesehen ist, dann wird es mit den Ergebnissen gefüllt von Suche. $matches[0] den Text enthalten, der das volle Muster übereinstimmt, $matches[1] wird den Text hat, die den ersten erfassten geklammerten Submuster abgestimmt, und so weiter.

Und Ihr Muster enthält eine Erfassungsgruppe definiert als (.*).

Verwandte Themen