Как урезать слово в php? Пример:
pid="5" OR pid="3" OR
Я хочу удалить последний OR
Я предлагаю использовать implode()
чтобы придерживаться подобных SQL-выражений. Сначала создайте массив простых выражений, затем вставьте их в OR:
$pids = array('pid = "5"', 'pid = "3"'); $sql_where = implode(' OR ', $pids);
Теперь $sql_where
– это строка 'pid = "5" OR pid = "3"'
. Вам не нужно беспокоиться о оставшихся OR, даже если в $pids
есть только один элемент.
Кроме того, совершенно другое решение заключается в том, чтобы добавить " false"
к вашей строке SQL, чтобы она завершилась "... OR false"
которая сделает ее допустимым выражением.
Ответ @RussellDias – это реальный ответ на ваш вопрос, это лишь некоторые альтернативы, о которых стоит подумать.
Вы можете попробовать rtrim :
rtrim – разделите пробелы (или другие символы) с конца строки
$string = "pid='5' OR pid='3' OR"; echo rtrim($string, "OR"); //outputs pid='5' OR pid='3'
Используя substr, чтобы найти и удалить конец OR
:
$string = "pid='5' OR pid='3' OR"; if(substr($string, -3) == ' OR') { $string = substr($string, 0, -3); } echo $string;
Регулярное выражение также будет работать:
$str = 'pid="5" OR pid="3" OR'; print preg_replace('/\sOR$/', '', $str);
Что Вы думаете об этом?
$str='pid="5" OR pid="3" OR'; $new_str=substr($str,0, strlen($str)-3);