Re: Regarding split text and match from data base [message #183858 is a reply to message #183856] |
Fri, 22 November 2013 16:50 |
Arno Welzel
Messages: 317 Registered: October 2011
Karma:
|
Senior Member |
|
|
Jerry Stuckle, 2013-11-22 16:54:
> On 11/22/2013 10:34 AM, Arno Welzel wrote:
>> Am 22.11.2013 12:28, schrieb jalaf28(at)gmail(dot)com:
>>
>>> Hello All I just start learning PHP and i am using 5.4.16 i just
>>> want to split the out put of the following and match from the
>>> database and print the System name.
>>>
>>> here is the Code
>>>
>>> <?php
>>>
>>> ob_start(); $line=shell_exec("arp -a"); echo "<pre>; echo $line; echo
>>> "</pre>";
>>>
>>> ?>
>>>
>>> It shows the output of the command "arp -a" and show the Ip address
>>> and Mac address on the LAN system. i saved the name and the Mac
>>> address in the database. now i want to extaxct the command output and
>>> match ["MAc address] with database and show the Particular system
>>> name and Ip Address. i try google but not sufficent.
>>
>> You can try explode() using space (' ') as delimiter, see:
>>
>> <http://php.net/manual/en/function.explode.php>
>>
>>
>>
>
> Arno,
>
> Have you actually looked at the output of arp -a? From your response, I
> don't think so.
And where is your answer to the question?
Anyway...
arp -a outputs here (numbers as "x" for privacy reasons):
somename (xxx.xxx.xxx.xxx) at xx:xx:xx:xx:xx:xx [ether] on eth0
So - using explode() on this line with space as delimiter should return
an array with the following elements:
somename
(xxx.xxx.xxx.xxx)
at
xx:xx:xx:xx:xx:xx
[ether]
on
eth0
Then you can use the fourth element which contains the MAC address.
If you get more than one line of output, the lines have to be split
first of course. Therefore I'd recommend using exec() which will return
the output as an array with one element for each line of output.
--
Arno Welzel
http://arnowelzel.de
http://de-rec-fahrrad.de
|
|
|