PHP RegEx dize değiştirin

1 Cevap php

Geçenlerde ön sonunda benim verileri temizlemek için bir javascript RegExp yazdım, şimdi benim PHP arka uç için tam olarak aynı şeyi ama ben sorun yaşıyorum bir süredir PHP çalışmış olmak gerekmez. Aşağıda javascript RegExp Birisi bana PHP bu dönüştürmek lütfen yardım edebilir, değil mi?

var illegalChars = /[\(\)\<\>\,\;\:\.\~\@\#\$\!\%\^\&\*\'\?\(\)\+\=\{\}\`\\\/\"\[\]]/gi;  
var siteSuggest = $(this).val().toUpperCase().split(' ').join('').replace(new RegExp(illegalChars), "");

Yani, özetle, ben küresel yasadışı tüm karakterleri kaldırmak istiyorsanız, boşluk ve kaldırmak değişkeni sql bir veritabanı veya tablo oluşturmak için kullanılan olacak gibi değişken yararlanmak.

1 Cevap

Dürüst olmak gerekirse, ben size (sen unutmuş ASCII olmayan karakterler bol, tüm sonra) tüm kötü karakterleri bulmak için çalışırken daha iyi bir karakter belirterek daha iyi olacağını düşünüyorum. Ben böyle bir şey yapmak istiyorum:

$regex = '#[^a-z0-9_]#i';
$val = preg_replace($regex, '', $val);
$val = strtoupper($val);

Bu regex tüm alfa, numerics ve _ olarak izin verilen karakterler olacak. Daha fazla varsa sadece karakter sınıfı ekleyebilir istiyorum. Regex boşluk (^ karakter sınıfının başında bir olumsuzlama) eşleşmesini beri bir alanı bölmek gerek, var ...

Bu gibi JS ayarlayabilirsiniz:

var illegalChars = /[^a-z0-9_]/gi;
var siteSuggest = $(this).val().replace(new RegExp(illegalChars), '').toUpperCase();