目前,当我echo
我保存的字符串时,它看起来像这样:
•94%正面·
我想要的只是:
94
我认为以下方法可以解决问题:
preg_replace(“/ [^ 0-9] /”,“”,$ string)
但由于某种原因(我正在考虑要点)这样做而不是给我这个:
94018332
任何帮助才能得到“94”?
答案 0 :(得分:3)
你是对的,子弹点正在作为HTML实体处理,因此包含数字。
但是,由于您的格式足够具体,您可以使用更好的正则表达式:
preg_match("/\d+(?=%)/",$string,$match);
$percentage = $match[0];
这个正则表达式专门搜索数字,后面紧跟百分号(只有第一个这样的匹配)。
答案 1 :(得分:3)
您可以使用过滤功能过滤掉数字。
$yourString = "• 94% positive";
$int = filter_var($yourString, FILTER_SANITIZE_NUMBER_INT);
echo $int; //WIll echo 94
答案 2 :(得分:1)
如果您的号码始终位于第一个和后一个字符上,则可以使用floatval
或intval
等功能。
答案 3 :(得分:-1)
您是否只是尝试演员?
echo (int) trim("• 94% positive ·", "• ·");
echo (int) trim("• 94% positive", "• ·");
两者都应输出到:
94
亲切的问候......