Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取Div';使用PHP创建属性值_Php_Php 7 - Fatal编程技术网

获取Div';使用PHP创建属性值

获取Div';使用PHP创建属性值,php,php-7,Php,Php 7,嗨,我想从HTML内容中获取Div的属性值,而不必在PHP中使用DOMDocument。这是我的密码: <?php $html = <<<HTML <div class='viewBuyButt' onclick="javascript:window.location='https://somelink.com?sdf=fhasldfss';return false;"></div> HTML; ?> 我试过: <

嗨,我想从HTML内容中获取Div的属性值,而不必在PHP中使用DOMDocument。这是我的密码:

<?php
$html = <<<HTML
  <div class='viewBuyButt' onclick="javascript:window.location='https://somelink.com?sdf=fhasldfss';return false;"></div>
HTML;        
?>
我试过:

<?php
$pattern = '/<div class="viewBuyButt".*\sonclick="(.*?)">/';
preg_match($pattern, $html, $viewAllLink);
var_dump($viewAllLink);// but not getting output
试试这个:

$html = <<<HTML
<div class='viewBuyButt' onclick="javascript:window.location='https://1.com';return false;"></div>
<div class='No-viewBuyButt' onclick="javascript:window.location='https://mahdiy.ir';return false;"></div>
<div class='viewBuyButt' >onclick="javascript:window.location='https://2.com';return false;"></div>
<div class='viewBuyButt' onclick="javascript:window.location='http://3.com';return false;"></div>
HTML;

preg_match_all("/class='viewBuyButt'((?!(\>|\<)).)*location='(.*)'/", $html, $viewAllLink);
print_r( $viewAllLink );

$html=为什么不能使用
DOMDocument
?DOM有什么问题?它打算这样做。RegExp不是一个大锤子,如果是的话,也不是所有的东西都是钉子。无论如何,您可以选择SimpleXML或XMLReader。我已经尝试过这个选项,而且它是有效的。所以我想知道是否还有其他可能有用的选择。谢谢你的帮助,引号必须是一样的,你不能用正则表达式来解析html吗,世界很可能会爆炸。你能不能在preg_匹配中添加类名,这对我很重要。它应该只获取具有类的div的location属性=viewBuyButt@Ravistm代码更新!现在将标记与boldclass=viewBuyButtbold匹配
$html = <<<HTML
<div class='viewBuyButt' onclick="javascript:window.location='https://1.com';return false;"></div>
<div class='No-viewBuyButt' onclick="javascript:window.location='https://mahdiy.ir';return false;"></div>
<div class='viewBuyButt' >onclick="javascript:window.location='https://2.com';return false;"></div>
<div class='viewBuyButt' onclick="javascript:window.location='http://3.com';return false;"></div>
HTML;

preg_match_all("/class='viewBuyButt'((?!(\>|\<)).)*location='(.*)'/", $html, $viewAllLink);
print_r( $viewAllLink );