1

严格标准:从 <--php_page_file_path--> 中的空值创建默认对象 <-- line_number-->

include('functions/simple_html_dom.php');
$content=str_get_html($submission);
$content->find('a', 0)->class='article-link';
$content->find('a', 0)->target='_blank';
$content->find('a', 0)->rel='nofollow';
$content->find('img', 0)->class='article-inner-image';

该变量$submission将从表单中获取 POST 数据。它可能包含也可能不包含<a><img>标签。当两者都存在时,不会引发警告。但是当一个或两个标签都不存在时,它会抛出这个警告。我该如何解决这个问题?

4

1 回答 1

4

解析 HTML 时,请在更改某些元素之前检查它们是否存在。

// Check if and '<a>' tag was submitted
if($a = $content->find('a', 0)) {

  // If so, set attributes on it.
  $a->class='article-link';
  ...
}

// Check if an '<img>' tag was submitted
if($img = $content->find('img', 0)) {
  ...
}
于 2013-11-12T09:41:42.043 回答