[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как Обрезать текст(ссылку) до какого-то момента
planetary
Привет всем, читающим эту тему. Возник вопрос: как Обрезать текст(ссылку) до какого-то момента. Например до текста privet обрезать такой текст: "vsemprivet", чтобы осталось vsem
Всем кто поможет +2=)



Спустя 5 минут, 17 секунд (26.03.2011 - 13:37) alex12060 написал(а):

echo preg_replace("#privet#", "", "vsemprivet");


:)

Спустя 1 час, 46 минут, 41 секунда (26.03.2011 - 15:24) planetary написал(а):
Спасибо, работает=) +2

Спустя 11 минут, 26 секунд (26.03.2011 - 15:35) neadekvat написал(а):
alex12060, объясните только, зачем для обычной замены использовать регулярку?

Спустя 1 минута, 16 секунд (26.03.2011 - 15:36) alex12060 написал(а):
neadekvat

Первое, что пришло на ум)

Спустя 4 минуты, 16 секунд (26.03.2011 - 15:41) alex12060 написал(а):
planetary

Не, все-же регулярки немного медленней этого:


echo str_replace("privet", "", "vsemprivet");


Используй лучше эту конструкцию...

Спустя 1 час, 49 минут, 57 секунд (26.03.2011 - 17:31) planetary написал(а):
Оказалось, что эта функция не подходит((( Она только заменяет текст. А нужно чтобы отрезала. Может быть и текст типа "vsemprivet_poka" тогда эта функция оставит "vsem_poka" А нужно только "vsem" . Еще варианты есть?

Спустя 39 минут, 44 секунды (26.03.2011 - 18:10) neadekvat написал(а):
$a = 'vsemprivet_poka';
$a = 'vsem';

Может, стоит объяснить условие нормально? Пример вы уже показали, ну, а общее правило?

Спустя 12 минут, 51 секунда (26.03.2011 - 18:23) planetary написал(а):
всмысле? Вообще мне нужно обрезать ссылку, Ссылка будет в виде текста, поэтому превожу простой пример с текстом.
Можно еще с числами пример:
Есть "1234567891011121314"
нужно обрезать до 6. Чтобы получилось "12345" Как это сделать?

Спустя 15 минут, 33 секунды (26.03.2011 - 18:39) neadekvat написал(а):
Так значит, надо получить первые 5 символов из строки? Или найти в строке какой-то символ и взять только то, что находится до этого символа?

Спустя 7 минут, 35 секунд (26.03.2011 - 18:46) planetary написал(а):
" найти в строке какой-то символ и взять только то, что находится до этого символа" именно это и надо. Только не один символ, а несколько.

Спустя 5 минут, 33 секунды (26.03.2011 - 18:52) neadekvat написал(а):
$str = '1234567891011121314';
$str = substr($str, 0, strpos($str, '6')); // 12345

echo $str;

Спустя 48 минут, 1 секунда (26.03.2011 - 19:40) planetary написал(а):
почему-то обрезает до этого момента только тогда, когда есть искомый набор букв(цифр). тоесть если не будет чила 6 ничего не выведет(

Спустя 18 минут, 44 секунды (26.03.2011 - 19:59) neadekvat написал(а):
Не почему-то, а потому что если ничего не находит, то возвращается false, что в данном контексте будет равно 0. Если взять все символы до нулевого - то ничего не будет.

Чтобы получить всю строку при отсутствии символа:
$str = '1234567891011121314';
if (strpos($str, 'd') !== false)
$str = substr($str, 0, strpos($str, 'd'));

echo $str;

Спустя 11 минут, 8 секунд (26.03.2011 - 20:10) planetary написал(а):
Ураааааа! Спасибо большое=) С меня +3)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.