PHP Simple HTML DOM Parser: Acceso a atributos personalizados
Quiero acceder a un atributo personalizado que agregué a algunos elementos en un archivo HTML, aquí hay un ejemplo delittleBox="somevalue"
atributo
<div id="someId" littleBox="someValue">inner text</div>
Lo siguiente no funciona:
foreach($html->find('div') as $element){
echo $element;
if(isset($element->type)){
echo $element->littleBox;
}
}
Vi un artículo con un problema similar, pero no pude replicarlo por alguna razón. Esto es lo que probé:
function retrieveValue($str){
if (stripos($str, 'littleBox')){//check if element has it
$var=preg_split("/littleBox=\"/",$str);
//echo $var[1];
$var1=preg_split("/\"/",$var[1]);
echo $var1[0];
}
else
return false;
}
Cuando llamo a laretrieveValue()
función, no pasa nada. Es$element
(en el primer ejemplo de PHP anterior) ¿no es una cadena? No sé si me perdí algo, pero no me devuelve nada.
Aquí está el guión en su totalidad:
<?php
require("../../simplehtmldom/simple_html_dom.php");
if (isset($_POST['submit'])){
$html = file_get_html($_POST['webURL']);
// Find all images
foreach($html->find('div') as $element){
echo $element;
if(isset($element->type)!= false){
echo retrieveValue($element);
}
}
}
function retrieveValue($str){
if (stripos($str, 'littleBox')){//check if element has it
$var=preg_split("/littleBox=\"/",$str);
//echo $var[1];
$var1=preg_split("/\"/",$var[1]);
return $var1[0];
}
else
return false;
}
?>
<form method="post">
Website URL<input type="text" name="webURL">
<br />
<input type="submit" name="submit">
</form>