Herkes benim için bu çözebilir?

6 Cevap php

Bu kod e-posta ayrıştırmak için kullanılıyor, bir MySQL veritabanı içinde bir tablo olarak depolanır. Ben PHP kodu inanıyorum. (.+) ne yapar?

/A new order has been successfully placed through(.+)Name:(.+)Company:(.+)Email:(.+)Address 1(.+)Order ID:(.+)Date:(.+)Payment Type:(.+)Order Status:(\s*)Accepted(.*)\n(.+)\$([\d\.]+)\s+X/si

Teşekkürler, süper brainiacs!

6 Cevap

Bu normal bir ifade maçına benziyor. (.+) parça 'joker' yakalar vardır.

Bu bir dize karşı çalıştırılabilir ve gerekli bilgi elde edilebilir. Çoğu durumda bu dize bağımsız bir dildir.

Sadece birkaç not:

/si sonunda 'vaka insensitve' ve 'anlamına gelir. Tüm 'maç (ortalamalar.) normal değil (ki \ n dahil olmak üzere her şeyi maç olacak)

Yakalar ((.+)) # (.+) sizin regex dizesinde görünür sipariş ortalama regex etkin dili kullanarak ($# olarak eşleşen sonra başvurulabilir.

EDIT: Bir örnek olarak, böylece bölüm Name:(.+)Company:(.+) maç olacak Name:Some random set of characters Company: Some more random characters 'Bazı rastgele karakter seti' ve değişkenlerin içine ekstre 'Bazı daha rasgele karakterler' nerede sorunuzu güncelledik $1 ve $2 (onlar ilk ve regex için ikinci çünkü).

Bu bir regex deseni bulunuyor. Ilgili PHP belgelerine burada başlar: PCRE (Perl-Compatible Regular Expression) Introduction

Her .+ "herhangi bir karakter, bir veya birden fazla kez" için bir yer tutucudur. Çevresinde parantezler (sizin durumda, veritabanına kaydetmek için) daha sonra da kullanılabilir böylece böylece yer tutucusu ile eşleşen bir şey, "yakalanan" yapar.

Bu (.+) herhangi bir kere karakteri, ya da birçok kez eşleşme anlamına gelir, düzenli bir ifadesidir. here kullanışlı bir başvuru için bkz, ve here sizin regex ifadeler test için bir araç.

Bu 'Şirket', vb .., aslında, her bir 'alan' değerini yakalamak için izin (. +) Desen, burada yakalar, altdize 'Adı' etkin olduğunu doğrulamak için bir kirli regex gibi görünüyor Bu alt dizelerin etrafında her şey.

Ben php fonksiyonu ereg için bir argüman olduğunu düşünüyorum ();

onun bir joker karakter. Bu. tek bir karakter anlamına gelir ve + belirtilen karakter birleşimi anlamına gelir. gibi [a-zA-Z +] karakter birleşimi AZ ve [a-z +] az değişir demektir. Bir karakter anlamına sonra a-z

(. +) PCRE'nin (düzenli ifade) yazılı bir joker.