这些字段包含以下值:{"93":" Size:</span>XL</span>"}。我只想显示尺寸:XL。我曾尝试使用 strip_tag 功能,但没有成功。有什么建议吗?
问问题
1219 次
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 回答