Re: Regarding split text and match from data base [message #183861 is a reply to message #183858] |
Fri, 22 November 2013 18:57 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma:
|
Senior Member |
|
|
On 11/22/2013 11:50 AM, Arno Welzel wrote:
> 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.
>
>
>
My reply is above - if you bothered to read (which you obviously
didn't). Additionally, the output of arp -a is also dependent on the
operating system and version of arp. Your way requires much more
processing than a simple preg_match().
And in this case the regex is pretty simple, and parses the output he
wants into a multi-dimensional array in one statement.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
|
|
|