#php
#php
Вопрос:
Как мне заставить PHP определить, находится ли слово в кавычках?
Пример: Привет, «меня» зовут…
Как мне узнать, заключено ли слово my в кавычки (двойные или одинарные)?
<?php
if(isset($_POST['sub'])) {
$str = $_POST['textarea'];
// determine if the word "my" is in quotation marks from the $str
}
Комментарии:
1. Здесь нам нужно больше контекста. Откуда берется эта строка?
2. @RussJ, строка поступает из текстовой области
3. Можете ли вы опубликовать код для этой текстовой области?
4. @RussJ, прямо сейчас у меня есть только PHP, вызывающий значение textarea после отправки post
5. Пожалуйста, опубликуйте свой код, в противном случае этот вопрос, скорее всего, будет закрыт.
Ответ №1:
Вам нужно регулярное выражение, которое может определять слово, которое вы ищете, заключенное в согласованные кавычки (один и тот же символ кавычки с каждой стороны).
Что-то вроде этого
$word = 'my';
$quoteCharacters = ['"', "'"];
$expression = sprintf('/([%s])%s1/i',
implode($quoteCharacters), preg_quote($word));
// produces something like /(["'])my1/i
if (preg_match($expression, $str)) {
echo "Found '$word' quoted";
}
Это 1
обратная ссылка, соответствующая тому же символу кавычки, который был найден ранее.
Демонстрация ~ https://3v4l.org/juHIi