Другие языки программирования и технологии
Как удалить символ из переменной типа строки в PHP?
Уже всю документацию перерыл, так и не смог найти ответа. В Pascal'e есть функция delete, которая удаляет указанное количество символов с указанной позиции. Как известно, строка в РНР, как и в Паскале представлена почти как массив - к её элементам можно обратиться через номер, но вот функция для удаления элемента массива unset не работает. Если зделать что-то типа $stroka[10]="", то на месте "пустого места" появляется нечитаемый символ.
$str = str_replace("", "\n", $str); // вырезается символ ввода.
Отдельно следует рассмотреть функции поиска в строке. Strchr - Находит первое появление символа. strchr(haystack, needle); Эта функция является псевдонимом для функции strstr(), и полностью ей идентична. Возвращает все haystack с первого появления строки needle и до конца. Если параметр needle не найден, то возвращается false. Если параметр needle не является строкой, то он переводится в целое число и рассматривается как числовое значение символа. Strrpos - Находит позицию последнего появления символа в строке. Strrpos(haystack, needle); Возвращает номер позиции последнего появления символа needle в строке haystack. Следует отметить, что needle в этом случае может быть только единственным символом. Если в качестве параметра needle указывается строка, то только первый символ будет использован. Если needle не найден, то возвращается false. Если параметр needle не является строкой, то он переводится в десятичное число и рассматривается как числовое значение символа. Strrchr -- Находит последнее появление символа в строке.
Strrchr(haystack, needle); Эта функция возвращает позицию haystack, с которой начинается последнее появление needle и продолжается до конца haystack. Возвращает false если needle не найдена. Если параметр needle содержит более чем один символ, то используется первый символ. Если параметр needle не является строкой, то он переводится в целое число и рассматривается как числовое значение символа. Пример:
// получение всего после последней новой строки
$text = "Line 1\nLine 2\nLine 3";
$last = substr( strrchr( $text, 10 ), 1 );
Отдельно следует рассмотреть функции поиска в строке. Strchr - Находит первое появление символа. strchr(haystack, needle); Эта функция является псевдонимом для функции strstr(), и полностью ей идентична. Возвращает все haystack с первого появления строки needle и до конца. Если параметр needle не найден, то возвращается false. Если параметр needle не является строкой, то он переводится в целое число и рассматривается как числовое значение символа. Strrpos - Находит позицию последнего появления символа в строке. Strrpos(haystack, needle); Возвращает номер позиции последнего появления символа needle в строке haystack. Следует отметить, что needle в этом случае может быть только единственным символом. Если в качестве параметра needle указывается строка, то только первый символ будет использован. Если needle не найден, то возвращается false. Если параметр needle не является строкой, то он переводится в десятичное число и рассматривается как числовое значение символа. Strrchr -- Находит последнее появление символа в строке.
Strrchr(haystack, needle); Эта функция возвращает позицию haystack, с которой начинается последнее появление needle и продолжается до конца haystack. Возвращает false если needle не найдена. Если параметр needle содержит более чем один символ, то используется первый символ. Если параметр needle не является строкой, то он переводится в целое число и рассматривается как числовое значение символа. Пример:
// получение всего после последней новой строки
$text = "Line 1\nLine 2\nLine 3";
$last = substr( strrchr( $text, 10 ), 1 );
ну если нет, то напиши свою функцию.
Кторая принимала бы строку, стартовую позицию и последнюю позицию удаляемых символов и возвращала бы новую строку....
Кторая принимала бы строку, стартовую позицию и последнюю позицию удаляемых символов и возвращала бы новую строку....
str_replace() вам в помощь
substr
$stroka[10]="" вместо "" попробуй NULL но точно не уверен, если удалить 1 букву из строчки надо, то норм str_replace('буква или несколько','здесь без пробела пусто',$str);
Похожие вопросы
- [C/C++] Oбъявление переменной типа структуры в этой же структуре
- C++ как переменную (signed int) разделить на старший и младший байт, а после записать в 2е другие переменные типа char?
- Сравнение переменных типа char в с++
- Поиск кол-ва символов наибольшего числа в строке
- Удалить символ из буфера
- Паскаль. Сколько байт занимает переменная типа string[10]? 11? .
- Можно ли перегрузить opeato+ для переменных типа shot int?
- Visual Basic. Как в переменной удалить определенные символы?
- php как удалить из текста строки предпоследний символ которых "/" ?
- FASM. Замена символов в строке, используя подпрограммы.
function TrimChars($str, $start, $end)
{
$len = strlen($str);
if($start=$len)
return $str;
if($end=$len)
return $str;
if($start>$end)
return $str;
$str1="";
for($i=0; $i < $len; $i++)
{
if($i > = $start && $i < = $end)
continue;
$str1 .= $str[$i];
}
return $str1;
}
echo TrimChars("роза упала...", 2,5);
? >