2015-05-25 7 views
5

मुझे लगता है कि कुछ इस तरह होता है एक फ़ाइल है:एक पाठ फ़ाइल को कैसे पढ़ा जाए और एक कोलन से पहले एक निश्चित स्ट्रिंग की खोज करें और फिर कोलन के बाद सामग्री दिखाएं?

test:fOwimWPu0eSaNR8 
test2:vogAqsfXpKzCfGr 

मैं कहना test के लिए फ़ाइल खोज करने के लिए सक्षम होने के लिए चाहते हैं और यह एक चर के लिए : के बाद स्ट्रिंग सेट तो यह प्रदर्शित किया जा सकता, इस्तेमाल किया आदि

यहां कोड है जो फ़ाइल में 'परीक्षण' खोजने के लिए अब तक है।

$file = 'file.txt'; 
$string = 'test'; 

$searchFile = file_get_contents($file); 
if (preg_match('/\\b'.$string.'\\b/', $searchFile)) { 
    echo 'true'; 
    // Find String 
} else { 
    echo 'false'; 
} 

मैं यह कर के बारे में कैसे जाना होगा?

उत्तर

3

यह आप के लिए काम करना चाहिए:

बस बस preg_grep() सभी लाइनों, जो पेट के पहले खोज स्ट्रिंग है file() साथ एक सरणी में अपनी फ़ाइल और फिर।

<?php 

    $file = "file.txt"; 
    $search = "test"; 

    $lines = file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); 

    $matches = preg_grep("/^" . preg_quote($search, "/") . ":(.*?)$/", $lines); 
    $matches = array_map(function($v){ 
     return explode(":", $v)[1]; 
    }, $matches); 

    print_r($matches); 

?> 

उत्पादन:

Array ([0] => fOwimWPu0eSaNR8) 
+0

यह काम किया! धन्यवाद :) – jdnoon

+0

@jdnoon आपका स्वागत है – Rizier123

+0

आपकी प्रतिक्रिया काम करती है, लेकिन यह केवल फाइल में पहली पंक्ति के लिए काम करती है, यह किसी भी लाइन के लिए काम नहीं करेगी, क्या ऐसा कोई कारण है? – jdnoon

संबंधित मुद्दे