2016-03-29 7 views
-1

Muster: "/CN=(.*)\,/"Preg_match: Get Wert zwischen Text

String: CN=João Pedro Mantovani,OU=host,DC=ghw,DC=college,DC=br

Ich versuche, den Text zwischen CN= und den ersten , nach dem Text zu bekommen, aber ich erhalte die gesamten Inhalt, bis die letztes Komma

array(
    0 => CN=João Pedro Mantovani,OU=host,DC=ghw,DC=college, 
    1 => João Pedro Mantovani,OU=host,DC=ghw,DC=college 
) 

Wie ich nur den Text zwischen CN= und den ersten , bekommen? In diesem Fall João Pedro Mantovani

+2

Verwenden Sie nicht-gierigen Fragezeichen-Operator: '/ CN = (. *?) \, /' – fusion3k

+0

CN = (. *?), Ja, verwenden Sie das Fragezeichen. – SamyQc

+0

die obige Arbeit non-greed oder einfach nicht Komma '([^,] +),' – abc123

Antwort

0

fügen Sie ein „?“ auf die innere Muster, wird es sich nicht gierige

versuchen /CN=(.*?)\,/ und das Ergebnis könnte sein, was Sie wollen.

+0

Dies wird nur die erste CN nicht eines der anderen Elemente erhalten – abc123