【发布时间】:2025-12-27 01:50:06
【问题描述】:
这似乎是一个非常直截了当的问题,由于某种原因,我无法弄清楚如何实现我正在寻找的目标。
$category = $html2->find('.video_cats',0);
$category = $genre->plaintext;
<div class="video_cats">
<span>Categories:</span>
<a href="http://www.example.com" title="Example Category" class="video_cat">House</a>
<a href="http://www.example.com" title="Example Category" class="video_cat">The Cat</a>
<a href="http://www.example.com" title="Example Category" class="video_cat">Car</a>
<a href="http://www.example.com" title="Example Category" class="video_cat">The Dog</a>
</div>
目前我有一个名为$category的字符串,如果我们print这个字符串的结果,它将返回以下文本一二三四五我正在尝试使其返回文本一、二、三、四、五。非常感谢任何帮助。
编辑: 这是所需的输出 类别:A Cat、Dog、A Horse、House 因为某些类别名称中有空格,我们不能只用逗号替换空格。
【问题讨论】:
-
我们怎么可能知道哪些类别有空格,哪些没有?某处是否有所有类别的列表?你的
$category字符串来自哪里? -
我同意@MattRaines - 根据给定的信息,这个问题无法解决。
-
您需要在每个类别周围使用一些分隔符来形成此列表。例如:“A Cat” “Dog” “A Horse” “House” 否则,如果它只是一个空格,则没有任何模式能够可靠地拾取它。唯一的可能性是,如果前面的单词是可预测的,例如:“A”或“The”,那么您可以使用正则表达式来匹配定义列表中的前一个单词,然后将下一个单词包含在匹配。但这仍然可能存在问题。
-
你是如何创建这个字符串的?如果它来自数组或数据库,您应该能够在构建它时添加逗号。
-
它们是否来自 HTML 中的不同元素?您应该能够在抓取时将它们放入一个数组中,而不是将它们组合成一个字符串。
标签: php