2015-07-06 4 views
-1

Я пишу форму проверки в PHP, которая принимает только.Регулярные выражения, которые принимают Apostrophes в PHP

  • Строчные буквы
  • прописными буквами
  • Числа
  • Пробелы между словами
  • символы
  • пунктуации «:()«

До сих пор.!.? Я пробовал '#^[a-zA-Z0-9" *":,.!-().?";\']+$#i' Использование if (preg_match()){ Но это пропускает только буквы, цифры & полные остановки

Я хочу, чтобы принять описания продукции, как это «будущее домашних развлечений!» & «Play CD в»

Я довольно новыми для регулярных выражений, так что я не уверен, если я m без каких-либо символов , или это связано с тем, как я кодирую его на PHP.

+1

буквы с акцентом или буквы с другого алфавита, то же самое с цифрами? –

+0

Выражение, которое вы сопоставляете со всеми указанными вами символами, но я не уверен, что проверка правильности регулярного выражения действительно необходима. Что, если описание имеет что-то вроде «10% off» или «Play Movies + Games»? Не могли бы вы объяснить свой вариант использования? –

+0

Просто нарисуйте текст на английском языке, и это похоже на очень простое описание продукта, который я пытаюсь передать из файла CSV в мою базу данных, но, как вы сказали, «10% off» или «Play Movies + Games», вероятно, будет там также, если пользователь вводит такие данные. – user3047041

ответ

0

Это работает.

$regex = '#^[a-zA-Z0-9" *:,.!().?";\'-]+$#i' ; 

$list = ["The future of home entertainment!","Play CD's"]; 
foreach ($list as $sentence) { 
    var_dump(preg_match($regex, $sentence)); 
} 

Всегда ставьте тире (-) в конце в [], если вы хотите также совместить тире.

+0

Я не уверен, как это сработает с тем, что он будет помещен в цикл while для передачи данных из файла CSV в базу данных MYSQL. – user3047041

+0

@ user3047041 Я не уверен, что вы имеете в виду. Это проверяет, содержит ли строка только допустимые символы. Ничего больше или меньше. – OIS

+0

Я использую цикл while, чтобы извлекать данные из файла excel, а затем проверяться регулярными выражениями и однажды передаваться в базу данных с помощью инструкции If Else. – user3047041

Смежные вопросы