br-lan リンク encap:イーサネット HWaddr F0:B4:29:55:6C:2E
inet アドレス:192.168.8.9 Bcast:192.168.8.255 マスク:255.255.255.0
fdc1:b4aa :57ba::1 /60 スコープ:グローバル
inet6 アドレス: fe80::f2b4:29ff:fe55:6c2e/64 スコープ: リンク
inet6 アドレス: fd7b:7c0f:5360:4::1/62 スコープ: グローバル UP ブロードキャスト実行中のマルチキャスト MTU: 1500メトリック:1
RX パケット:6135 エラー:0 ドロップ:0 オーバーラン:0 フレーム:0
TX パケット:7308 エラー:0 ドロップ:0 オーバーラン:0 キャリア:0
コリジョン:0 tx queuelen:0
RX バイト:774045 (755.9 KiB) TX bytes:2084983 (1.9 MiB)
//上記の文字列で、inet addr:192.168.8.9 Bcast の間の IP アドレスを抽出したいのですが、PHP で Zhenggang 式を記述するにはどうすればよいですか?ありがとう。
// $return_array は上記の文字列配列です。
foreach ( $return_array as $value ) { //if ( preg_match( "/inet addr:/i", $value, $temp_array) ) if ( preg_match("\binet addr:\b.*\bBcast\b", $value, $temp_array) ) { echo '<br /><br />'; print_r($temp_array); //var_dump( $temp_array ); } }
rreee
if (preg_match("[0-9]{1,3}[.][0-9]{1,3}[.][0-9]{1,3}[.][0-9]{1,3}", $value, $temp_array)) // 放代码里,这行有错误,用工具测试ok. { echo '<br /><br />'; //print_r($temp_array); var_dump( $temp_array ); }
// \b[0-9]{1,3}[.][0-9]{1,3}[.][0-9]{1,3}[.][0-9]{1,3}\b //if (preg_match("/\b[0-9]{1,3}[.][0-9]{1,3}[.][0-9]{1,3}[.][0-9]{1,3}\b/", $value, $temp_array)) if (preg_match("/[0-9]{1,3}[.][0-9]{1,3}[.][0-9]{1,3}[.][0-9]{1,3}/", $value, $temp_array)) // OK { echo '<br /><br />'; //print_r($temp_array); var_dump( $temp_array ); }
if ( preg_match("/inet addr:(.+?)\s+Bcast:/", $value, $temp_array) ) { echo '<br /><br />'; print_r($temp_array); //var_dump( $temp_array ); }192.168.8.9