如何使用 PHP 脚本在任何 DOM 中仅搜索输出 `-`?

How search the output only `-` in any DOM using PHP script?

如何仅搜索输出 - 如果有 DOM 如下所示?

  1. <p>-</p>
  2. <p><span style="font-size: medium;">-</span></p>
  3. 等等

目前我只是使用下面的代码来找到这个输出 - :

$input = `<p>-</p>`;
if($input == `<p>-</p>`):
   return true;
else:
   return false;
endif;

有更好的主意吗?

尝试

$input = `<p>-</p>`;
$input = `<p><span style="font-size: medium;">-</span></p>`;
$input = `<p><div>-</div>`;
if(strpos($input, '>-<')):
   return true;
else:
   return false;
endif;

接受的答案不适用于特殊情况,例如标签属性值包含 >-<- 未包含在标签中:

$input = '<span title="A valid title >-<">Should NOT match</span>';
$input = '<span>Should match</span>-';

您可以使用 strip_tags(),它的效率不如 strpos(),但适用于所有情况:

return (strip_tags($input) === '-');