![]() |
Показаны 3 сообщений на этой странице |
Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- PHP (http://netadmin.ws/forum/forumdisplay.php?forumid=6)
-- Вернуть часть строки слева и справа от подстроки (http://netadmin.ws/forum/showthread.php?threadid=10569)
Вернуть часть строки слева и справа от подстроки
Всезнающий all ! 
Помоги разобраться 
Есть две строки:
1. "Lesnix - это тот же самый лесник, только заканчивается на букву икс"
2. "самый лесник"
Как видите строка 2 является частью строки 1. Необходимо выбрать часть строки 1 начиная за 8 символов до строки 2, строку 2, а затем 8 символов после строки 2.
То есть:
$str1="Lesnix - это тот же самый лесник, только заканчивается на букву икс";
$str2="самый лесник";
echo("...".foo($str1,$str2,8,8)."...");
Замечательный язык содержит функцию preg_match(); которая может возвращать массив совпадений. В шаблоне поиска можно занести в скобки те элементы, которые должны быть в конечном массиве. А потом уже обычной строковой substr(); обрезать до нужной длины.
Nevermind,... Ð_то, конечно, вариант...но не такой уж рациональный...
А ответ пришел с Codenet'a 
$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)."...");
| Формат времени GMT. Текущее время 00:53. | Показаны 3 сообщений на этой странице |
Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.