Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обрезать строку 
:(
    Опции темы
The Thing
Дата 31.10.2005, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 286
Регистрация: 6.9.2004

Репутация: нет
Всего: 3



Столкнулся я с такой проблемой:
когда у меня есть переменная:
Код

$var = "Hello Word!";

и мне надо ее обрезать до "Hello!":
что-то вроде
$var[5] = "\0" или $var[5] = \0 или
$var[5] = "NULL" или $var[5] = NULL
не помогает.

Приходилось делать что-то типа:
Код

$temp_var = ""; $i=0;
while($var[$i] != " ") $temp_var = $temp_var + $var[$i++];
$var = $temp_var;


Вроде как есть фун обрезающие строку..
Но я так понимаю они работают по тому же принципу.


--------------------
Правильность работы программы зависит от двух велечин.
В нужном месте должны стоять нолик и еденичка.
PM MAIL   Вверх
The Thing
Дата 31.10.2005, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 286
Регистрация: 6.9.2004

Репутация: нет
Всего: 3



Ну же... хочу знать.. как работать со строками!!!
с типами данных!

Код

<?
if(!isset($edit)){
    print "Error!";
    return;
}
$edit[strlen($edit)/2] = $edit[strlen($edit)/2] + 1;
print $_REQUEST['edit'];
?>


поидее этот код беред "средний символ слова" и увеличивает его на 1. Т.е Было А стало Б, было "сало" стало "сбло". НЕ РАБОТАЕТ!!!


--------------------
Правильность работы программы зависит от двух велечин.
В нужном месте должны стоять нолик и еденичка.
PM MAIL   Вверх
-=Ustas=-
Дата 31.10.2005, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Это ты делаешь просто числовую операцию, $edit[strlen($edit)/2] равно восьми, и ты ему присваиваешь значение 9. Вот и всё, что делает твой код. Ты должен заранее приготовить массив символов, а потом уже вычилять нужную тебе позицию символа и производить замену из этого массива.


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Bastet
Дата 31.10.2005, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 159
Регистрация: 26.9.2005
Где: Тильзит

Репутация: 3
Всего: 6



По какому принципу нужно обрезать фразу в первом посте?

Хм... как ты увеличиваешь на 1 букву? Нужно как минимум получить код символа, увеличить его на 1, а потом перевести обратно в символ аскии:
Код

$Ch = chr(ord($Ch)+1);

А вообще найди лучше справочник, не отвлекай людей глупостями...
--------------------
"I'm not bad. I'm just drawn that way" © Jessica RabbitСм.также: BB | ЖЖ | DA
PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 1.11.2005, 00:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



А что, substr уже не можно?
В принцпе можн через бинарные операции обрубить, но через симвлы не получится.
PM ICQ   Вверх
Guest
Дата 1.11.2005, 14:41 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











$edit вообще-то передается...
Забыл указать..
$edit - есть слово или предложение...
В справочниках, которые я юзал, о самой строке мало говорится... и об операциях.. все больше на готовые функции уклон!

$edit[strlen($edit)/2] + 1;

Здесь я предпологаю брать симсвол и увеличить его код на 1..

Я понимаю ord($Ch) возвращает код символа...а chr(...) возвращает символ по коду...
$Ch = chr(ord($Ch)+1);

тогда:
$edit[strlen($edit)/2] = chr( ord( $edit[strlen($edit)/2] ) + 1) ;
  Вверх
Guest
Дата 1.11.2005, 14:43 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Mal Hack
Через бин операции...
Это $var[5] = chr(0);
  Вверх
The Thing
Дата 1.11.2005, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 286
Регистрация: 6.9.2004

Репутация: нет
Всего: 3



Гостем был Я


--------------------
Правильность работы программы зависит от двух велечин.
В нужном месте должны стоять нолик и еденичка.
PM MAIL   Вверх
Mal Hack
Дата 1.11.2005, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(Guest @ 1.11.2005, 15:43)
Mal Hack
Через бин операции...
Это $var[5] = chr(0);

Кто тебе сказал?
То что ты на место символа пишешь символ определенного ASCII кода еще ничего не значит. К тому же, это не работает.
PM ICQ   Вверх
The Thing
Дата 4.11.2005, 01:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 286
Регистрация: 6.9.2004

Репутация: нет
Всего: 3



Блин, ну строка то оканчивается Нуль символом..вот я и пытался его туду загнать... по крайней мере во всех мне известных языках прогр. так.. кроме ПХП


--------------------
Правильность работы программы зависит от двух велечин.
В нужном месте должны стоять нолик и еденичка.
PM MAIL   Вверх
Mal Hack
Дата 4.11.2005, 03:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(The @ 4.11.2005, 02:29)
Блин, ну строка то оканчивается Нуль символом..вот я и пытался его туду загнать... по крайней мере во всех мне известных языках прогр. так.. кроме ПХП

Ну вот тут вот не прокатывает...
Хотя, вот хоть убей, но как-то делал... Вот точно помню..
PM ICQ   Вверх
The Thing
Дата 6.11.2005, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 286
Регистрация: 6.9.2004

Репутация: нет
Всего: 3



Вообще есть у кого-нить описание работы со строками... это важно понимать.. может быть даже их реализация в коде..


--------------------
Правильность работы программы зависит от двух велечин.
В нужном месте должны стоять нолик и еденичка.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0488 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.