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

How to get the specific string from the HTML tag code and check existence of <img> tag in a string?

我有两个 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 应该包含值 'file',如 $type = 'file';

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

我想使用 HTML 解析来实现。

在第一种情况下,我想要来自第一个锚标记 class="comment_attach_file_link"

的 class 属性的字符串 'file'

在第二种情况下,仅当 HTML 代码中存在 <img> 标记时,我才需要字符串 'image'。

我应该如何在 PHP 中高效地执行此操作?请帮助我。

谢谢。

您可以使用 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';
}

?>

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