如何从HTML标记代码中获取特定字符串并检查字符串中是否存在<img/>标记?

时间:2015-04-06 13:18:33

标签: php html dom html-parsing

我有两个HTML代码。其中一个肯定会出现在变量$text中,如下所示:

//First HTML code 

$text = <a class="comment_attach_file_link" href="https://www.filepicker.io/api/file/vuHOZ3n8ToyvQUDQ03zi">vuHOZ3n8ToyvQUDQ03zi</a>

        <a class="comment_attach_file_link_dwl" href="https://www.filepicker.io/api/file/vuHOZ3n8ToyvQUDQ03zi">Download</a>;

    //Second HTML code
$text = <a title="" href="https://www.filepicker.io/api/file/xdA3uDwdTWydvK7ISlws"><img src="https://www.filepicker.io/api/file/xdA3uDwdTWydvK7ISlws" height="150px" width="150px"></a>

        <a href="https://www.filepicker.io/api/file/xdA3uDwdTWydvK7ISlws" class="comment_attach_image_link_dwl">Download</a>;

如果存在第一个HTML代码,则变量$type应包含值&#39; file&#39;比如$type = 'file';

如果存在第二个HTML代码,则变量$type应包含值&#39; image&#39;比如$type = 'image';

我想使用HTML Parsing实现这一目标。

在第一种情况下,我想要字符串&#39;文件&#39;来自第一个锚标记class="comment_attach_file_link"

的class属性

在第二种情况下,我想要字符串&#39; image&#39;仅当HTML代码中存在<img>标记时。

我应该如何在PHP中以有效的方式执行此操作?请帮帮我。

感谢。

2 个答案:

答案 0 :(得分:1)

您可以使用strpos()来执行此操作:

<?php 

$text = '<a title="" href="https://www.filepicker.io/api/file/xdA3uDwdTWydvK7ISlws"><img src="https://www.filepicker.io/api/file/xdA3uDwdTWydvK7ISlws" height="150px" width="150px"></a>

        <a href="https://www.filepicker.io/api/file/xdA3uDwdTWydvK7ISlws" class="comment_attach_image_link_dwl">Download</a>';

if (strpos($text,'class="comment_attach_file_link"') !== false) {
    echo 'file';
}
elseif (strpos($text,'<img') !== false) {
    echo 'image';
}

?>

答案 1 :(得分:0)

可以通过jquery“$('#id')。attr('class')”轻松完成。您将获得类值。 与图像相同。