0

这些字段包含以下值:{"93":" Size:</span>XL</span>"}。我只想显示尺寸:XL。我曾尝试使用 strip_tag 功能,但没有成功。有什么建议吗?

4

4 回答 4

2

尝试这个,

它的 json 编码值。

 $text = '{"93":" Size:</span>XL</span>"}';
 $ar = json_decode($text);  

 foreach($ar as $value){
    echo strip_tags($value);
   }

输出将是

Size:XL

希望它的固定..

于 2013-08-06T01:56:40.037 回答
0

您的问题有点不清楚,如果该字段包含所有内容,包括 { 括号,那么替换中的这个正则表达式应该会有所帮助,只需用空字符串替换字符:

/"\:"|[^A-Za-z:]|span/g

如果不是这种情况,并且您只有第二个带有跨度的字符串,您可以使用这个:

/[^A-Za-z:]|span/g

但请注意,它还会删除空格,并且仅在特定情况下有效,例如。不删除其他标签等。

于 2013-08-05T20:42:30.063 回答
0

您可以使用该函数应用全局正则表达式匹配,preg_match_all以从您的字段中仅提取“大小:XX”。

$field = "your data fields"
$pattern = "/(Size:)<\/span>([a-z]{1,2})<\/span>/i";

preg_match_all($pattern,$field,$result,PREG_SET_ORDER);                                  
foreach( $result as $r ) {
    print($r[1]." ".$r[2].PHP_EOL);
}

将输出:

Size: XL
Size: L
...
于 2013-08-05T20:42:59.553 回答
0

如果你的标签是正确的,像这样:

<span>XL</span>而不是</span>XL</span>,

strip_tags()应该为你工作。

我通过以下测试验证...

$text = "<span>XL</span>";
$goodtext = strip_tags($text);

并输出结果...

echo htmlentities($text)
echo "<br/>";
echo htmlentities($goodtext);

产生...

<span>XL</span>
XL
于 2013-08-05T20:24:07.013 回答