[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поиск по текстовому файлу
vasamen
Вопрос: у меня есть файл test.txt
  first name | info | /images/1.jpg
first name2 | info | /images/2.jpg
first name3 | info | /images/3.png


так вот как мне сделать поиск?
например
$slovo = 'first name3';

вот, мне нужно по этому слову найти строку и из этой строки вывести только третье поле тоесть:
/images/3.png

В гугле искал находил только поиск по строкам и все!
А мне нужно найти строку и вывести только часть строки!
или взять эту строку разбить в массив и тогда выводить то что мне нужно!
Игорь_Vasinsky
foreach()
explode
if

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
stump
preg_match

_____________
Трус не играет в хокей
Игорь_Vasinsky
$search = 'first name';

$file = file('yourfile.txt');

foreach($file as $string){
$path = explode('|', $string);

if(trim($path[0]) == $search){
$result[] = $path[2];
}
}


echo (isset($result)) ? 'Result: '.implode(',', $result) : 'Not found';


$result[] - использовал массив - т.к. не понятно - уникальны строки или нет.
если уникальны - то можно просто $result и при выводе тоже.


ну или
$search = file_get_contents('first name');

preg_match('#'.$search.'\s\|.*\|([^\|].*)'.PHP_EOL.'#Us', $file, $find);

echo '<pre>' . print_r($find, 1) . '</pre>';


<pre>Array
(
[0] => first name | info | /images/1.jpg

[1] => /images/1.jpg
)
</pre>


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

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