Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » ASP, Perl, PHP и MySQL

Вывод части переменной

Обсуждение темы Вывод части переменной в разделе ASP, Perl, PHP и MySQL, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Задача такая: есть $str="abcdefghijiabcde..." или что-то вроде этого, нужно вывести часть переменной после последнего вхождения в неё некоторой строки ($abc). К примеру $abc="cd", ...


Закрытая тема
 
Опции темы
Старый 30.08.2006, 16:01   #1
Задача такая: есть $str="abcdefghijiabcde..." или что-то вроде этого, нужно вывести часть переменной после последнего вхождения в неё некоторой строки ($abc).
К примеру $abc="cd", тогда должно выводится "e", или $abc = "cdef", тогда должно выводиться ghijiabcde. Эксперементировал с функией strrchr(), но не работало. Есть соображения?
 
Старый 30.08.2006, 16:01
Ссылки
Старый 31.08.2006, 08:57   #2
Немного подзабыл функции, но суть такая:
1. Ищем последнее вхождение нужной строки. Если я не ошибаюсь то для $abc = "cdef" результат - 13 (по первому символу).
2. Считаем длину $abc.
3. Режем все от 13+длина_$abc до конца...
 
Старый 31.08.2006, 10:44   #3
Думал над этим, но не помогло... Функция strrpos, если нет точного совпадения, почему-то ищет по первой букве и выводит не то... Например:
strrpos("bc", "abdefgh")
выведет мне "defgh", а мне надо чтобы ничего не выводила или выдавала ошибку. В принципе скрипт написал, только с чудным алгоритмом, т.е. переменная, вывод которой осуществляется переворачивается функцией strrev, то же с переменной, содержайщей слово, после которого производится вывод, затем это обрабатывается функцией strpos (не strrpos !), потом срока для вывода назад переворачивается и выводится: substr("строка для вывода части её", "её длина минус результат strpos", "её длина").
Это - гимор, но работает.
Есть ли что по проще?
 
Старый 01.09.2006, 03:29   #4
скажи что ты реализовываешь...
 
Старый 01.09.2006, 07:16   #5
PHP код:
$str 'abcdefghijk';
$sub 'cde';
if (!
substr_count($str,$sub)){
   
// error
} else {
    
$strpos strpos($str,$sub);
    
$str substr($str,$strpos+strlen($sub)); // 'fghijk'

 
Старый 02.09.2006, 14:21   #6
Гы!

seka добавил [date]1157192626[/date]:
Гы!

Показываю:

PHP код:
$p=explode($abc$str); 
print 
$p[count($p)-1]; 
И СЁ... )))
 
Старый 03.09.2006, 10:19   #7
seka, В случае отсутствия совпадения получишь всю исходную строку
 
Старый 03.09.2006, 15:40   #8
Ну и что? Ежу понятно, что этот вариант легко проверяется. Зато не приходится заморачиваться, чтобы искать место вхождения подстроки, вырезать из нее чего-то и т.д.
 
Старый 04.09.2006, 01:07   #9
seka, я тоже люблю explode. Им можно много чего решить, касательно строк и файлов
 
Старый 04.09.2006, 01:07
Закрытая тема




Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен человек для реализации технической части сайта Yflz Вакансии 9 19.07.2010 23:18
Рубите на части! Ждем Вашу критику:) il_ya Зал дебютантов 31 03.06.2009 14:05
Скрытие части таблицы Scroll HTML, CSS, JavaScript 4 10.09.2008 09:21
Трегирование выделенной части в форме методом javascript Santrex ASP, Perl, PHP и MySQL 4 18.12.2005 12:05
Тип переменной ВЛАСТЕЛИН Технологии Flash 2 28.08.2003 00:15


Текущее время: 01:26. Часовой пояс GMT +4.

Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Дизайнерский форум