当前位置: 首页 > 面试题库 >

PHP字符串操作:提取hrefs

年健
2023-03-14
问题内容

我有一个HTML字符串,我想检查一下其中是否有任何链接,如果有,请将它们提取出来并将它们放入数组中。我可以使用其选择器的简单性在jQuery中进行此操作,但是我找不到在PHP中使用的正确方法。

例如,字符串可能如下所示:

<h1>Doctors</h1>
<a title="C - G" href="linkl.html">C - G</a>
<a title="G - K" href="link2.html">G - K</a>
<a title="K - M" href="link3.html">K - M</a>

我如何(在PHP中)将其转换为类似于以下内容的数组:

[1]=>"link1.html"
[2]=>"link2.html"
[3]=>"link3.html"

谢谢,伊恩


问题答案:

您可以使用PHPs DOMDocument库解析XML和/或HTML。如下所示的方法应该可以解决问题,以便href从HTML字符串中获取属性。

$html = '<h1>Doctors</h1>
<a title="C - G" href="linkl.html">C - G</a>
<a title="G - K" href="link2.html">G - K</a>
<a title="K - M" href="link3.html">K - M</a>';

$hrefs = array();

$dom = new DOMDocument();
$dom->loadHTML($html);

$tags = $dom->getElementsByTagName('a');
foreach ($tags as $tag) {
       $hrefs[] =  $tag->getAttribute('href');
}


 类似资料:
  • substr key start end 返回截取过的key的字符串值,注意并不修改key的值。下标是从0开始的

  • 本文向大家介绍PHP字符串中抽取子串操作实例分析,包括了PHP字符串中抽取子串操作实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP字符串中抽取子串操作。分享给大家供大家参考,具体如下: 问题 希望从字符串的某个特定位置开始抽取这个字符串的一部分。例如,对于输入到一个表单的用户名,想要得到这个用户名的前8个字符。 解决 使用substr()选择子串 讨论 1.如果$strart

  • 前言 忙活了一个礼拜,终于等到周末,可以空下来写点东西。 之前已经完成《数值运算》和《布尔运算》,这次轮到介绍字符串操作 。咱们先得弄明白两个内容: 什么是字符串? 对字符串有哪些操作? 下面是"在线新华字典"的解释: 字符串:简称“串”。有限字符的序列。数据元素为字符的线性表,是一种数据的逻辑结构。在计算机中可有不同的存储结构。在串上可进行求子串、插入字符、删除字符、置换字符等运算。 而字符呢?

  • 字符串操作 函数 char *  rt_strstr (const char *s1, const char *s2)   判断字符串   rt_uint32_t  rt_strcasecmp (const char *a, const char *b)   忽略大小写比较字符串   char *  rt_strncpy (char *dst, const char *src, rt_ubase_

  • 注意:位操作中的位置是反过来的,offset过大,则会在中间填充0,比如 SETBIT bit 0 1,此时bit为10000000,此时再进行SETBIT bit 7 1,此时bit为10000001。offset最大2^32-1。 GETBIT key offset / SETBIT key offset value 设置某个索引的位为0/1 bitcount 对位进行统计 bitop 对1个

  • SETRANGE key offset value 用value 参数覆写(overwrite)给定key 所储存的字符串值,从偏移量offset 开始。 不存在的key 当作空白字符串处理。可以用作append: 注意: 如果偏移量>字符长度, 该字符自动补0x00,注意它不会报错