stripslashes
Замечание:
Если включена директива magic_quotes_sybase, вместо обратных слешей будут удаляться двойные одинарные кавычки.
Функцию stripslashes() можно использовать, например, если директива конфигурации magic_quotes_gpc имеет значение on (она была включена по умолчанию в версиях до PHP 5.4), и экранирование символов не требуется. Например, данные не вставляются в базу данных, а просто выводятся в браузер.
Список параметров
Возвращаемые значения
Возвращает строку с вырезанными обратными слешами. (\’ становится ‘ и т.п.) Двойные обратные слеши (\\) становятся одинарными (\).
Примеры
Пример #1 Пример использования stripslashes()
// выводит: Вас зовут O’reilly?
echo stripslashes ( $str );
?>
Замечание:
stripslashes() не рекурсивна. Если вы хотите применить ее к многомерному массиву, то вам необходимо использовать рекурсивную функцию.
Пример #2 Использование stripslashes() с массивом
function stripslashes_deep ( $value )
$value = is_array ( $value ) ?
array_map ( ‘stripslashes_deep’ , $value ) :
stripslashes ( $value );
?php
// Пример
$array = array( «f\\’oo» , «b\\’ar» , array( «fo\\’o» , «b\\’ar» ));
$array = stripslashes_deep ( $array );
Результат выполнения данного примера:
Array ( [0] => f'oo [1] => b'ar [2] => Array ( [0] => fo'o [1] => b'ar ) )
Смотрите также
- addslashes() — Экранирует строку с помощью слешей
- get_magic_quotes_gpc() — Получение текущего значения настройки конфигурации magic_quotes_gpc
stripslashes
stripslashes () можно использовать, если вы не вставляете эти данные в место (например, базу данных), требующее экранирования. Например, если вы просто выводите данные прямо из HTML-формы.
Parameters
Return Values
Возвращает строку с удаленными обратными косыми чертами. ( \’ становится ‘ и т. д.) Двойные обратные косые черты ( \\ ) превращаются в одиночные обратные косые черты ( \ ).
Examples
Пример # 1 stripslashes () Пример
$str = "Is your name O\'reilly?"; // Outputs: Is your name O'reilly? echo stripslashes($str); ?>
Note:
stripslashes () не рекурсивен. Если вы хотите применить эту функцию к многомерному массиву, вам необходимо использовать рекурсивную функцию.
Пример # 2 Использование stripslashes () в массиве
function stripslashes_deep($value) < $value = is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value); return $value; > // Example $array = array("f\\'oo", "b\\'ar", array("fo\\'o", "b\\'ar")); $array = stripslashes_deep($array); // Output print_r($array); ?>
Выводится приведенный выше пример:
Array ( [0] => f'oo [1] => b'ar [2] => Array ( [0] => fo'o [1] => b'ar ) )
УДАЛИТЬ КАВЫЧКИ PHP
Удаление кавычек в PHP может быть полезно при работе с строками. Например, вы можете использовать эту функцию, чтобы удалить кавычки из строки и сохранить только ее содержимое. Для удаления всех кавычек в PHP можно использовать функцию str_replace(). Пример кода: $string_with_quotes = ‘Это «строка» с «кавычками»‘;$string_without_quotes = str_replace(‘»‘, », $string_with_quotes);echo $string_without_quotes; // Вывод: Это строка с кавычками В этом примере мы используем функцию str_replace(), чтобы удалить все двойные кавычки из строки $string_with_quotes и сохранить результат в $string_without_quotes. Затем мы выводим измененную строку на экран с помощью функции echo.Кроме того, вы можете использовать эту же функцию для удаления одинарных кавычек из строки: $string_with_single_quotes = «Это ‘строка’ с ‘кавычками'»;$string_without_single_quotes = str_replace(«‘», », $string_with_single_quotes);echo $string_without_single_quotes; // Вывод: Это строка с кавычками В этом примере мы использовали одинарные кавычки для определения строки, чтобы не экранировать двойные кавычки внутри строки. В остальном код идентичен предыдущему примеру. Как видно из примеров, функция str_replace() принимает три аргумента: искомую подстроку, строку замены и строку, в которой нужно выполнить замену. Отметим также, что существуют и другие функции для работы со строками в PHP, такие как preg_replace() и substr_replace(). Однако, str_replace() является простой и удобной функцией для выполнения замен по строкам.
20. How to Delete Record from database from HTML PHP Web Page, query to delete record from database
Урок № 14. Чем отличаются двойные и одинарные кавычки в PHP
PHP с нуля. Условие WHERE для удаления данных в PHP
PHP и PhpMyAdmin — создание, вывод, изменение и удаление данных
Убрать слово рубрика и кавычки в теме Basic
Двойные или одинарные кавычки в строках в PHP
PHP С НУЛЯ ДО ДЖУНА БЫСТРО 3. БАЗА ДАННЫХ — ОБНОВЛЕНИЕ, УДАЛЕНИЕ
Удалить кавычки из начала и конца строки в PHP
Мне нужно избавиться от » (двойных кавычек) в конце и в начале, если они существуют, но если в String есть такой символ, тогда он должен быть оставлен. Пример:
7 ответов
Если второй символ также » ‘или предпоследний тоже, то он также будет удален. Если они значительны, то обрезка падает. Это немного зависит от фактических данных. См. Ответ пользователя 783322.
Проще говоря: «trim () удалит последовательные кавычки с начала или с конца. Однако мы просто хотим удалить только самые первые и самые последние кавычки. Это означает, что это не должно быть приемлемым ответом.
Это не должно быть принятым ответом. Что если цитата является частью строки? «this is double-quote -> «» выведет this is double-quote -> что означает, что вы пропустили неотъемлемую часть строки.
У меня была аналогичная потребность и я написал функцию, которая удалит лидирующие и завершающие одиночные или двойные кавычки из строки:
/** * Remove first and end quote from a quoted string of text * * @param mixed $text */ function stripQuotes($text) < $unquoted = preg_replace('/^(\'(.*)\'|"(.*)")$/', '$2$3', $text); return $unquoted; >
Это приведет к выводам, перечисленным ниже:
Input text Output text -------------------------------- No quotes => No quotes "Double quoted" => Double quoted 'Single quoted' => Single quoted "One of each' => "One of each' "Multi""quotes" => Multi""quotes '"'"@";'"*&^*'' => "'"@";'"*&^*'
trim удалит все экземпляры char с начала и конца, если он соответствует шаблону, который вы предоставляете, поэтому:
$myValue => '"Hi"""""'; $myValue=trim($myValue, '"');
Здесь можно удалить только первый и последний char, если они совпадают:
$output=stripslashes(trim($myValue)); // if the first char is a " then remove it if(strpos($output,'"')===0)$output=substr($output,1,(strlen($output)-1)); // if the last char is a " then remove it if(strripos($output,'"')===(strlen($output)-1))$output=substr($output,0,-1);
Так как этот поток должен был быть убит давно, я не мог не ответить тем, что я назвал бы самым простым ответом. Я заметил, что эта тема вновь появляется на 17-м, поэтому я не чувствую себя так же плохо.:)
Использование образцов, предоставленных Стивом Чемберсом;
Input text Output text -------------------------------- No quotes => No quotes "Double quoted" => Double quoted 'Single quoted' => Single quoted "One of each' => One of each "Multi""quotes" => Multi""quotes '"'"@";'"*&^*'' => "'"@";'"*&^*'
Это только когда-либо удаляет первую и последнюю цитату, она не повторяется, чтобы удалить дополнительный контент и не заботится о совпадении концов.
Если вам нравится производительность по ясности, это способ:
// Remove double quotes at beginning and/or end of output $len=strlen($output); if($output[0]==='"') $iniidx=1; else $iniidx=0; if($output[$len-1]==='"') $endidx=-1; else $endidx=$len-1; if($iniidx==1 || $endidx==-1) $output=substr($output,$iniidx,$endidx);
Комментарий помогает с ясностью. скобки в массиве, как использование в строках, возможно и требуют меньше усилий по обработке, чем эквивалентные методы, слишком плохо, что нет переменной длины или последнего индекса char
Я понимаю, что OP не спрашивал о многобайтовых строках, но это не будет работать с такими строками. Не нужно использовать Regex, но они делают это довольно просто.
Как насчет регулярного выражения
//$singleQuotedString="'Hello this 'someword' and \"somewrod\" stas SO"; //$singleQuotedString="Hello this 'someword' and \"somewrod\" stas SO'"; $singleQuotedString="'Hello this 'someword' and \"somewrod\" stas SO'"; $quotesFreeString=preg_replace('/^\'?(.*?(?=\'?$))\'?$/','$1' ,$singleQuotedString);
Hello this 'someword' and "somewrod" stas SO
Вам нужно использовать регулярные выражения, посмотрите: —
Или вы могли бы в этом случае использовать substr, чтобы проверить, является ли первый, а затем последний символ строки меткой кавычки, если она есть, усечь строку.
Trim может в конечном итоге удалить существенные кавычки в начале или конце строки — я поддерживаю регулярные выражения!
Проще говоря: «trim () удалит последовательные кавычки с начала или с конца. Однако мы просто хотим удалить только самые первые и самые последние кавычки.
Ещё вопросы
- 1 Правильное использование метода repaint ()
- 1 Как изменить название пакета Android на Android Studio, добавив раздел?
- 1 Тип String.call.call? [Дубликат]
- 0 Проверить ключ массива PHP> Значение
- 1 Tornado Websocket сообщения не получают
- 0 `const char * ‘to` char’
- 1 Как заставить приложение отказаться от режима экономии заряда батареи, когда служба включена?
- 0 Почему второй модуль не работает в angularjs?
- 1 Проверка или ввод в двух текстовых полях — ASP.NET Webforms
- 1 Массивы кортежей
- 0 C ++ по модулю для выравнивания моих данных
- 0 Скрыть блок, который не соответствует высоте контейнера
- 1 Визуализация компонента с помощью concat helper
- 1 OpenCSV CSVReader UTF-8 кодировка
- 1 ArgumentException: значение не попадает в ожидаемый диапазон
- 1 Инициализируйте локальную или динамическую переменную DateTime
- 1 Запрос веб-службы не отображает строки в массиве
- 0 Я не могу сгенерировать автоинкрементный Id, а hibernate всегда генерирует 1 как Id
- 1 Android обнаруживает, что активность находится на вершине стека истории
- 1 Изменение значений set_Basis для преобразования в Revit
- 0 Uncaught TypeError: undefined не является функцией в AngularJS
- 1 Геозона для кроссплатформенного ксамарина
- 1 Изменить строку подключения модели данных xpo во время выполнения
- 1 С точки зрения использования памяти, в чем разница между этими двумя массивами в JavaScript?
- 1 Возобновление асинхронного чтения с использованием Rx?
- 1 Лапласианская пирамида дает странные результаты?
- 0 IIS: не удалось вызвать GetProcAddress для фильтра ISAPI
- 0 Доступ к формату пути, используемому для маршрутизации
- 0 Риск запуска cronjob каждую минуту
- 0 Как выбрать ресурс с условием выполнения двух отношений в объединенной таблице
- 0 Лучший способ отслеживать счетчик на уровне базы данных
- 0 проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса для использования рядом с ‘WHERE \ r \ n
- 1 Клиент зависает при чтении объекта из сокета
- 0 Настройка постоянной переменной MariaDB
- 0 Как использовать ng-repeat, чтобы показать все элементы в одной строке
- 1 Поддерживает ли Google App Engine Java Script Engine?
- 0 Как обновить набор указателей с ++?
- 0 Как манипулировать массивом, чтобы он возвращался как структура json в PHP?
- 1 изменить размер изображения по площади
- 0 ngResource save () странное поведение
- 0 контроль ширины элементов фиксированного положения с шириной: 100%
- 0 Ошибка при использовании оператора модуля в qt на двойном
- 1 Доступ к объекту фильтра через WebApplicationContext
- 1 Пандейские рассуждения о способе условного обновления нового значения из других значений в той же строке в DataFrame
- 1 Поддержка старых устройств
- 0 ngresource получить ошибку при доступе к свойствам ресурса
- 1 Как добавить паузу между отправкой сообщений в python telegram bot?
- 1 В чем разница между консолью разработчиков и отчетами о сбоях на пожарной базе?
- 1 Как ASP.NET вызывает события на клиенте?
- 0 Как объявить класс с 1000000 элементов C ++
PHP: Как удалить эти кавычки « или экранировать?
И какие ещё есть символы такого рода, что удалить не так просто?
Оценить 2 комментария
seredaes:
$name = «Вася«Маша»;
echo htmlentities($name, ENT_DISALLOWED);
https://yadi.sk/i/EkzjCHCJhbn5x
Вывел даже в textarea, никакого результата ваш код не принёс!
seredaes: еще один? Может потому что не нужно смотреть спецсимволы в браузере? И стоит попробовать запустить из консоли, так, для развлечения.
Можете пояснить как оно работает?
Вот пример из интернета:
$str ;
// выводит: A ‘quote’ is bold
echo htmlentities($str);
Я вижу, что угловые скобки заменяет на но в моём случае « никак не заменился. :/
Как я должен был понять, что всё отработало?
Консоль это жёстко. Я ожидал увидеть хотя бы как-то \u.
seredaes: потому что html entities автоматически преобразуются в символы. т.е &_gt; станет > в браузере.
Вам шашечки или ехать? Можно в консоли браузера смотреть что с сервера приходит, там оно чистым будет.