Я новичок и немного тупица регулярного выражения, поэтому, пожалуйста, простите мне, что будет казаться совершенно глупым вопросом. .PHP preg_match двойная кавычка совпадение
В PHP я пытаюсь использовать регулярное выражение, чтобы соответствовать когда двойные кавычки "появляется в тексте от управления на HTML форме и позволяют использовать его в настоящее время регулярное выражение не работает:
preg_match('/[^a-zA-Z0-9 \"\'\?\-]/', $v)
как все остальные символы работают нормально, но если я поместил «текст», он все равно не выполнит регулярное выражение.
Я пробовал [^a-zA-Z0-9 \"\'\?\-]
на https://regex101.com/, и он работает нормально. Что-то не так с моим PHP-экземпляром, который нуждается в исправлении, или PHP каким-то образом не работает с https://regex101.com/?
Ian J.
Edit:
Входной сигнал: тест»
Выход: 10
Edit:
$v = test"
$n = 50
$s = Name:
$f = $fail (which is passed by reference as a counter)
function validate_text($v, $n, $s, &$f)
{
if ($v == "")
{
++$f;
return "<span class='error'>".$s."</span>";
}
elseif ((strlen($v) > $n) || preg_match('/[^a-zA-Z0-9 \"\'\?\-]/', $v))
{
++$f;
return "<span class='error'>".$s."</span> <span class='errorextra'>(Please enter only upper or lower case letters, numerals, spaces, and basic punctuation, maximum ".$n." characters)</span>";
}
return $s;
}
Edit: Хорошо, это кажется, что есть что-то странное происходит между значением $ _POST и переходит к переменной. исследовать и возвращаться. Но на данный момент этот вопрос приостановлен.
Редактировать: некоторые исходные точки исследования указывают на преобразование, возникающее при вызове htmlentities ранее в коде, выполняющем преобразование двойной кавычки в другое. Поэтому я не думаю, что это проблема с регулярным выражением. Я отметил «beiller» как ответ из-за его примера кода, который поставил меня на путь поиска, где проблема на самом деле.
Оригинальный пост отредактирован для ввода/вывода –
Но проверить на наличие '«'' в тесте»' вам не нужно регулярное выражение. Используйте функции 'strchr' или' strstr' – anubhava
Я использую регулярное выражение для других вещей, а не только « –