Ben bir regex kullanarak bir etiket bilgileri ayıklamak için çalışıyorum, daha sonra etiketinin çeşitli yerlerinde dayalı bir sonuca dönmek.
preg_replace('/<(example )?(example2)+ \/>/', analyze(array($0, $1, $2)), $src);
Yani parça kapma ve analyze()
işlevine geçiyorum. Bir kez orada, ben parçaları kendilerini dayalı iş yapmak istiyorum:
function analyze($matches) {
if ($matches[0] == '<example example2 />')
return 'something_awesome';
else if ($matches[1] == 'example')
return 'ftw';
}
Ben analiz işlevi bir kez olsun vs Ama, $matches[0]
sadece '$0
' dize eşittir. Bunun yerine, $matches[0]
preg_replace () çağrısından geribaşvuru başvurmak gerekir. Bunu nasıl yapabilirim?
Teşekkürler.
EDIT: Ben sadece preg_replace_callback () işlevi gördü. Belki de bu benim aradığım budur ...