preg_replace - null sonuç?

3 Cevap php

İşte (. Indir, php için yeniden adlandırın ve kabuk çalıştırmak), küçük bir örnek:

test.txt

Neden preg_replace yerine özgün dize null çıkmıyor?

\x{2192} ("→"), "→" HTML olarak aynıdır.

3 Cevap

Üzerinde belgelere preg_replace():

Değerler Dönüş

preg_replace() returns an array if the subject parameter is an array, or a string otherwise.

If matches are found, the new subject will be returned, otherwise subject will be returned unchanged or NULL if an error occurred.

In your pattern, I don't think the u flag is supported. YANLIŞ

Edit: Bu konu ile kodlama sorunu bir tür gibi görünüyor. Ben '147 3.2 V6 sildiğinizde - GTA (184 kW) 've elle yeniden yazın her şey iş gibi görünüyor.

Edit 2: sağlanan deseninde, regex motoru sorunları veriyor gibi görünüyor 3 boşluklar vardır. Onları ondalık dönüştürmek zaman (normal alan 32 karşı) onların değeri 160 olduğunu. Ben, normal olanlar ile bu boşlukların yerine zaman iş gibi görünüyor.

Aşağıda çizgi ile soruna boşluk yerini ettik:

'147 3.2 V6 - GTA (184 kW)'
'147 3.2_V6 - GTA_(184_kW)'

Benim düzenli ifade u UTF-8 PCRE modifier dahil ben bir boş tepki vardı. Kaynak metin not UTF olduğunu ve bu değiştirici varsa, boş bir sonuç alırsınız.

Ben senin Regex ifade bir hata da var olduğuna inanıyorum: ~\x{2192}~u

Ben ne değiştirmeyi deneyin ve bu sizin için çalıştığını görmek: /\x{2192}/u