Php bir dize belirli karakterleri Çıkarma

4 Cevap php

Ben nasıl böyle '#' veya '\' olarak özel karakterler için php bir dize kontrol edebilirsiniz?

Ben gerçekten sadece true veya return false, değiştirmek kullanmak istemiyorum.

Teşekkürler

4 Cevap

use the function strstr http://us2.php.net/manual/en/function.strstr.php Returns part of haystack string from the first occurrence of needle to the end of haystack

Not: Eğer sadece belirli bir iğne samanlık içinde oluşursa belirlemek istiyorsanız, daha hızlı ve daha az bellek yoğun fonksiyonu strpos () yerine kullanın.

Sen strpos function, if you only want to know if a string contains another one (the content of your questions seems to indicate that, even if your title says "remove") kullanabilirsiniz.

Not: Fonksiyon 0 veya return false gibi, !== veya === operatörünü kullanmak unutmak, ve bu farklı anlamı yok.


If you want to "remove" characters, str_replace or strtr might do the trick.

Sen böyle bir şey yapabilirsiniz:

if (strpos($string, '#') !== false || strpos($string, '\') !== false) {
    // One of those two characters is in the string.
}

Özellikle false (karakter anlamındaki bulunamadı) ve 0 (bunu anlam birbirinden ayırır !== sözdizimi, pozisyon {[(bulunmuştur Not 2)]}).

Düzenli ifadeler deneyin.

preg_match('/[#\\\\]/', $String);

Note: Sen tersbölüler '\' üç kez kaçmak zorunda.

Eğer gerçekten boolean formatında istiyorsanız, sizin gibi bir ternary operator '?:' kullanabilirsiniz

preg_match('/[#\\\\]/', $String) ? true : false;

Ya da sadece boolean dönüştürmek

(bool)preg_match('/[#\\\\]/', $String);