Preluare valoare din tag html dupa id in php
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
Stefan
- Mesaje: 117
Preluare valoare din tag html dupa id in php
Salut, vreau sa preiau valoare unui tag de pe un website, am gasit un cod care ia toate valorile din input-uri. Cum as putea sa il modific ca sa ia doar valoarea de la tag-ul cu id-ul care ma intereseaza pe mine? Am incercat sa rezolv dar nu prea le am cu OOP
Cod: Selectaţi tot
<?php
function get_input_tags($html){
$post_data = array();
// a new dom object
$dom = new DomDocument;
//load the html into the object
$dom->loadHTML($html);
//discard white space
$dom->preserveWhiteSpace = false;
//all input tags as a list
$input_tags = $dom->getElementsByTagName('input');
//get all rows from the table
for ($i = 0; $i < $input_tags->length; $i++)
{
if( is_object($input_tags->item($i)) )
{
$name = $value = '';
$name_o = $input_tags->item($i)->attributes->getNamedItem('name');
if(is_object($name_o))
{
$name = $name_o->value;
$value_o = $input_tags->item($i)->attributes->getNamedItem('value');
if(is_object($value_o))
{
$value = $input_tags->item($i)->attributes->getNamedItem('value')->value;
}
$post_data[$name] = $value;
}
}
}
return $post_data;
}
/*
Usage
*/
error_reporting(~E_WARNING);
$html = file_get_contents("https://www.google.ro");
echo "<pre>";
print_r(get_input_tags($html));
echo "</pre>";
?>
MarPlo
Mesaje: 4343
Salut,
Daca iti e de folos, functia getCntId() din codul urmator returneaza un array cu numele tag-ului si continutul elementului cu id-ul transmis dintr-un sir HTML in PHP.
Cod: Selectaţi tot
<?php
function getCntId($html, $id){
$dom = new DomDocument;
//load the html into the object
error_reporting(~E_WARNING); // to not output warning errors
$dom->loadHTML($html);
// get the element with id="$id"
$elm = $dom->getElementById($id);
return ['tag'=>$elm->tagName, 'cnt'=>$elm->nodeValue];
}
//Test
$html = file_get_contents('https://marplo.net/');
echo '<pre>';
var_export(getCntId($html, 'p_content'));
echo '</pre>';
Stefan
Mesaje: 117
Multumesc mult! Dar pentru atributul "name" din input (in loc de ID) ce modificare ar trebui sa fac?
MarPlo
Mesaje: 4343
Poti sa foloseti metoda
getAttribute() ca sa verifici elementele cu un anumit atribut.
- Daca vrei sa inveti despre
PHP HTML DOM vezi documentatia de la:
PHP - Document Object Model
- De exemplu, poti sa folosesti aceasta functie pentru elemente <input> cu un anumit 'name':
Cod: Selectaţi tot
//receives string $html with html code
//returns the value of the html input with name of $name
function getInpValName($html, $name){
$re ='no val';
$dom = new DomDocument;
//load the html into the object
error_reporting(~E_WARNING); // to not output warning errors
$dom->loadHTML($html);
$elms = $dom->getElementsByTagName('input');
foreach($elms as $elm){
if($elm->getAttribute('name') ==$name){
$re = $elm->getAttribute('value');
break;
}
}
return $re;
}
Subiecte similare
-
Inversare cheie cu valoare in obiect JS
JavaScript - jQuery - Ajax
Primul mesaj
Nu imi dau seama cum pot schimba urmatorul obiect in JavaScript:
{ first : , second : , third : }
In acesta:
{ de : , ab : }
Vreau să...
Ultimul mesaj
Trebuie să parcurgi array-urile și pentru fiecare element din array verifici dacă există sau nu un array pentru acea valoare în acumulator înainte de...
-
Convertire 8-biți număr în valoare de culoare Hex în JavaScript
JavaScript - jQuery - Ajax
Primul mesaj
Încerc să convertesc un număr întreg de 8-biți în valoare de culoare Hex. (de ex. FFFFFF).
Numarul de culoare pe 8-biți este generat cu următoarea...
Ultimul mesaj
Dacă ai un număr întreg, poți face cu:
color.toString(16)
Și îl va transforma într-un șir Hex.
// White
color = (255 * 65536) + (255 *...
-
script si cod html calculator calorii
Cereri si Oferte
Buna ziua
Va rog sa ma ajutati cu un script calculator calorii, vreau sal pun pe saitul meu. va rog daca e posibil in limba romana
-
Valoarea id-ului din HTML atribuită unei variabile php
PHP - MySQL - XML
Primul mesaj
Încerc să extrag valorile id= min5 , id= max5 si să le pun în $_GET $_GET fara trimitere în altă pagină
cum aș putea proceda?
<div class=...
Ultimul mesaj
Nu prea inteleg ce vrei sa faci.
Codul php se executa pe server inainte de a fi pagina cu codul html si javascript.
In php, valorile pentru...
-
mysql Update dupa nume
PHP - MySQL - XML
Primul mesaj
Salutari,
Incerc de ceva timp sa fac sa imi salveze informatiile jucatorului in baza de date, o data inserate vreau atunci cand gaseste din nou...
Ultimul mesaj
Cand se creaza tabelul in baza de date, coloana nickname trebuie sa fie de tip UNIQUE KEY .
Iar id-ul ar trebui sa fie o valoare care sa nu o mai...
-
După Lună, China se îndreaptă spre Marte
Stiri Deosebite
După ce a cucerit Luna, China se îndreaptă direct spre Marte.
<img style='width:99%' src='/forum/images/china_probe_rocket.webp' alt='China...