Удаление символов

Horus

Новичок
Удаление символов

Есть переменная $d, в которой хранится большой текстовый фрагмент. Нужно из этого текста вырезать первые 3 символа. Инструкция $d=substr($d,2) не работает. Что можно сделать?
 

kvf77

Red Devil
Horus
конечно не работает - тебе сказать где ты должен посмотреть почему она не работает? в доку брысь - совсем уже - два слова в описании команды прочитать не можешь?
 

Фанат

oncle terrible
Команда форума
Horus
"не работает" - это не описание проблемы.

ты должен понять, что если что-то не работает, то надо это ИСПРАВЛЯТЬ
а не идти искать другой путь.
а чтобы испрасить, надо сначала проблему детально описать
 

Фанат

oncle terrible
Команда форума
здесь не "что где когда".
неужели тружно прочесть доку и сделать, как там?
неужели там такие сложные примеры?
 

Horus

Новичок
Вот дока:
---------------------------------------------------------------------------------
substr()

Синтаксис:
string substr(string string, int start[, int length])

Эта функция возвращает часть строки. Первый аргумент – исходная строка; второй – положение в строке, которую надо вернуть, первого символа (отсчет начинается с нуля); третий – длина строки в символах, которую надо вернуть. Если третий аргумент не указан, то возвращается вся оставшаяся часть строки.

Пример:
<?
$string = substr("Hello, world!", 6, 2);
echo ();
?>

Результат выполнения – символ "w". Если же третий параметр не указывать, т.е. написать
$string = substr("Hello, world!", 6);

то возвратиться подстрока "world!".
---------------------------------------------------------------------------------

И что у меня не правильно?
 

Фанат

oncle terrible
Команда форума
не знаю.
ты же не говоришь

-~{}~ 22.03.06 17:14:

совет: пользоваться надо официальной документацией.
а не берестяными грамотами времён Новгорода Великого
 

Horus

Новичок
Если бы знал, то не спрашивал.

Вот код:

$url = "http://www.afn.by/news/rss/";
$d=implode("",file($url));
$d=substr($d,2);
echo $d;

Если закоментировать $d=substr($d,2) то $d выводится, иначе скрипт ничего не выводит, и работу не заканчивает, т.е. в браузере горит крестик, а не обновить. Пробовал $d=substr($d,2,50), всё равно ничего не выводится.
 

Фанат

oncle terrible
Команда форума
это самый простой пример, который ты нашёл для проверки работы функции substr?
 

Horus

Новичок
Это то из-за чего я начал тему. А так у меня substr работает.
 

Фанат

oncle terrible
Команда форума
Это то из-за чего я начал тему.
Да что ты говоришь!
и где же в начале темы про это сказано?
и где, вообще, информация о том, что проблема, действительно, в substr?
 

kvf77

Red Devil
Horus

доку всеже перечитаешь? даже в твоем корявом переводе достаточно смысла, чтобы понять что ты делаешь не так.

Тебе ромашку подарить? погадаешь
 

Фанат

oncle terrible
Команда форума
kvf77
если честно, то я не вижу проблемы с substr
не намекнёшь?
 

kvf77

Red Devil
Фанат

я так понял, что ему надо получить именно первые 3 символа

стоп - гы я кажется понял твою мысль - ну тогда он явно чего-то не договаривает
 

Фанат

oncle terrible
Команда форума
нет, ему их надо удалить.
сочетание заголовка темы с её текстом приводит меня именно к таким выводам.

но тут, в общем, понятно уже что дело совсем не в substr
я только удивляюсь, почему он сам до сих пор этого не понял.

-~{}~ 22.03.06 18:00:

есть, конечно, один вариант, но я очень сомневаюсь в том, что получаемый файл столь огромен, что скрипту не хватает памяти
 

Breeze

goshogun
Команда форума
Партнер клуба
Фанат

есть еще один вариант -- большое время отклика нужного урла
 

ksnk

прохожий
Вместо
echo $d;
напиши
echo htmlspecialchars ($d);
Откроешь для себя много интересного... :)
 

baev

‹°°¬•
Команда форума
удалит первые 2, а не 3 символа.
— вот именно.

А вообще — у меня этот код
$url = "http://www.afn.by/news/rss/";
$d=implode("",file($url));
$d=substr($d,2);
echo $d;
нормально заработал. (Ну, не считая лишнего символа, оставшегося от BOM.)
В чём там у автора проблемы мне совершенно не понятно.
 
Сверху