Я написал эту функцию:Почему это регулярное выражение играет?
function contain_special($string){
# -- Check For Any Special Chars --
if(preg_match('/[^a-z0-9]/',$string)){
# - Special Chars Were Found -
return true;
}//end of special chars found
else{
# - String Does Not Contain Special Chars -
return false;
}//end of else - does not contain special chars
}//end of function
Чтобы проверить, если строка содержит специальные символы.
Функция должна игнорировать буквенно-цифровые символы и искать специальные символы. Если найдено, верните true
, еще, верните false
.
Теперь все хорошо работает при тестировании его с большинством специальных символов:
$text="sdfs-df";
var_dump(contain_special($text));//returns true because "-" was found
НО, когда у меня есть $
, который не является в определенной позиции строки, функция не в состоянии поднять его:
$text="sdfsdf$";//this works
$text="sdf$sdf";//this does not work
$text="$sdfsdf";//this works
Любые идеи о том, что я делаю неправильно здесь?
Смешанный синтаксис комментария одной строки. Проклятие моего существования. – BoltClock
Используйте одинарные кавычки, иначе использование '$' можно рассматривать как переменную. – Wiseguy
@BoltClock Я так плохо комментирую? –