-6ren">
gpt4 book ai didi

php查找包含关键字的字符串并获取标签之间的字符串

转载 作者:行者123 更新时间:2023-12-04 04:37:46 26 4
gpt4 key购买 nike

我有一个包含 html 标签的字符串,我想获取包含关键字 "GB" 的整个字符串。 .

有时在 <td> 中有不同的类或样式属性。 ,而且标签之间可能有不同的容量,所以我想找 "GB""gb"然后在 ">" 之间获取整个字符串和 "<" ......但只是不知道如何......

我的字符串示例如下所示:

$str='<tr>
<td class="table_title13_bg_gray_line" width="171" align="left">Capacity</td>
<td class="table_line_x_h10" width="647" align="left">&nbsp;16GB/32GB/64GB/128GB</td>
</tr>';

从上面的字符串中,我想得到字符串 "16GB/32GB/64GB/128GB"任何人都可以让我知道我该怎么办?

编辑:
并说 "16GB/32GB/64GB/128GB" 中是否有一些标签,

例如。 <td class="table_line_x_h10" width="647" align="left">&nbsp;16GB/<span style="color:red;">32GB</span>/64GB<br/>128GB</td>
好像是图案 $pattern = "/<td ?.*>(.*?)<\/td>/";不起作用,那我还能做什么?

最佳答案

刚刚尝试并自己解决了这个问题......
在这里回答并希望它对其他人有用。

$pattern = "/<td ?.*>(.*)<\/td>/";
preg_match_all($pattern, $str, $matches);
foreach( $matches[0] as $key=>$val){
if(preg_match('/GB/i',$val)){
echo $val;
}
}
//output: 16GB/32GB/64GB/128GB
但仍然想知道有没有更好或更简单的方法?
编辑:
好的,我明白了……我真的很讨厌正则表达式……
$pattern = '/[<td ?.*>](.*?)<\/td>/s';
如果 td 标签之间的字符串包含其他标签,这可以解决这种情况……只是一个简单的 []……

关于php查找包含关键字的字符串并获取标签之间的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19424237/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com