简体   繁体   中英

php parse content for input->name value

I'm trying to parse html content, for the value stored in the name tag.

My current try looks like the following:

function getAuthToken(){
    $html = file_get_contents('url');
    $values = array();

    foreach($html->find('input') as $element)
    {
        $values[$element->name] = $element->value;
    }

    print_r($values);
}

What am I doing wrong?

$html in your code is not an object its a string (the results of file_get_contents).

$object->name is a class object

$array[key] is an array element

Neither of these in your code will do what you want to achieve with the result of file_get_contents because your $html var is a string, you need to do some string parsing to get the desired results.

You can check that with:

echo gettype($html);

You can also just echo out $html to find out what the string looks like to give you a better idea of what you are working with, for instance, is there a common character that you can explode the sting with an so getting an array to work with within your foreach.

example:

$newarray = explode('&', $html);

foreach ($newarray as $key => $value) {
 //do your thing
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM