2010-06-07 34 views
0

說我有一段文字,有一些新的行/換行符。我想找到某個關鍵字的發生,並返回這些關鍵字的行號。我怎麼做?謝謝!PHP找到特定關鍵字的行號

+1

您是在談論一個已經呈現或正在討論您想要解析的部分文本的網站? – Thariama 2010-06-07 13:51:30

回答

1

可以使用substr_count()的方式,如:

$line_number = substr_count($str, "\n", 0, strpos($str, 'keyword')) + 1; 

其中$str是源字符串。

0
<?php 
$string=" 
foo keyword bar 
foobar 
foobar 
foo keyword bar 
keyword 
keyword"; 
var_dump(preg_grep('/keyword/',explode("\n",$string))); 
?> 

輸出:

array(4) { 
    [1]=> 
    string(15) "foo keyword bar" 
    [4]=> 
    string(15) "foo keyword bar" 
    [5]=> 
    string(7) "keyword" 
    [6]=> 
    string(7) "keyword" 
} 

所以,你可以只是做對的array_keys如果你喜歡。

+0

命令行中的正常'grep'命令通常以更快的順序執行,但當然不太方便。 – Wrikken 2010-06-07 13:58:07