Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
netadmin.ws
Панель управления Регистрция свободна! Календарь Список пользователей Часто задаваемые вопросы Поиск по форуму Архив скриптов Главная   
Форум сетевых администраторов
Форум сетевых администраторов Форум сетевых администраторов » Программирование » PHP » Вернуть часть строки слева и справа от подстроки
Предыдущая тема     Следующая тема
Автор
Тема    Новая тема     Ответить на эту тему
Lesnix
Участник

Зарегистрирован: Nov 2004
Место проживания:
Публикаций: 21
Статус: Lesnix в оф-лайне
Question Вернуть часть строки слева и справа от подстроки [сообщение #75968]

Всезнающий all !
Помоги разобраться
Есть две строки:
1. "Lesnix - это тот же самый лесник, только заканчивается на букву икс"
2. "самый лесник"

Как видите строка 2 является частью строки 1. Необходимо выбрать часть строки 1 начиная за 8 символов до строки 2, строку 2, а затем 8 символов после строки 2.
То есть:

PHP:


$str1
="Lesnix - это тот же самый лесник, только заканчивается на букву икс";
$str2="самый лесник";

echo(
"...".foo($str1,$str2,8,8)."...");


В нашем случае должно быть выведено: "... тот же самый лесник, только..."
Напишите функцию foo() наиболее рациональным способом
...или, может быть, замечательный язык PHP уже содержит такую или подобную функцию ?

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 19-04-2005 22:31
Нажмите сюда для просмотра профайла Lesnix Отправить Персональное сообщение Lesnix Посетить домашнию страничку Lesnix! Найти сообщения от Lesnix Добавить Lesnix в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Nevermind
Участник+
Средний рейтинг: 4 | Оценок: 7
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Feb 2002
Место проживания: RU, VLadivostok
Публикаций: 145
Статус: Nevermind в оф-лайне
[сообщение #75991]

Замечательный язык содержит функцию preg_match(); которая может возвращать массив совпадений. В шаблоне поиска можно занести в скобки те элементы, которые должны быть в конечном массиве. А потом уже обычной строковой substr(); обрезать до нужной длины.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 21-04-2005 08:11
Нажмите сюда для просмотра профайла Nevermind Отправить Персональное сообщение Nevermind Найти сообщения от Nevermind Добавить Nevermind в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
Lesnix
Участник

Зарегистрирован: Nov 2004
Место проживания:
Публикаций: 21
Статус: Lesnix в оф-лайне
[сообщение #76010]

Nevermind,... Ð_то, конечно, вариант...но не такой уж рациональный...
А ответ пришел с Codenet'a

PHP:


$str1
="Lesnix - это тот же самый лесник, только заканчивается на букву икс"; 
$str2="самый лесник"; 

function 
foo($str1,$str2,$n1,$n2) { 
    
$p=strpos($str1,$str2); 
    if (
$p) { 
        return(
substr($str1,$p-8,strlen($str2)+16)); 
        } 
    return(
""); 
    } 

echo(
"...".foo($str1,$str2,8,8)."...");

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 21-04-2005 20:13
Нажмите сюда для просмотра профайла Lesnix Отправить Персональное сообщение Lesnix Посетить домашнию страничку Lesnix! Найти сообщения от Lesnix Добавить Lesnix в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя



Формат времени GMT. Текущее время 00:53.
Новая тема   Ответить на эту тему [ Версия для печати Печать | Отправить эту страницу другу/знакомому! Отправить | Получать уведомления об обновлении этой темы Подписка ] Предыдущая тема     Следующая тема
Навигация по форуму:
Оценка темы:

Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения.
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
 

Page generated in 0.24039602 seconds (97.92% PHP - 2.08% MySQL) with 26 queries.


  Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
©NetAdmin.ws, 2001-2026.
Powered by: vBulletin
Copyright ©2000, 2001, Jelsoft Enterprises Limited.