在PHP中,如何从包含数字和文本的字符串中过滤文本

在PHP中,如何从包含数字和文本的字符串中过滤文本,php,filter-var,Php,Filter Var,我想从包含数字和字母的字符串中过滤出文本。 比如说, input expected result(output) R543.32 ---> R gbp6.99 ---> gbp 我该怎么做?我使用了filter\u var()自己获取数字,但似乎无法找到如何单独获取文本,至少不能以可伸缩的方式 $buying_price_filtered = filter_var($buying_price, FILTER_SANITIZE_NUMBER_FLOAT,

我想从包含数字和字母的字符串中过滤出文本。 比如说,

 input       expected result(output)
R543.32 --->    R
gbp6.99 --->    gbp
我该怎么做?我使用了
filter\u var()
自己获取数字,但似乎无法找到如何单独获取文本,至少不能以可伸缩的方式

$buying_price_filtered = filter_var($buying_price, FILTER_SANITIZE_NUMBER_FLOAT, 
 FILTER_FLAG_ALLOW_FRACTION);

您只需使用
preg\u replace
即可从字符串中删除整数和特殊字符

这里我将把a-z和a-z加在一起,因为可能有大写字母和简单字母。这样你就能得到单词中所有的字母

$str = 'R543.32';
$newstr =  preg_replace("/[^a-zA-Z]/", "", $str);
echo $newstr;
//will return you the letters for the above ex: R will be the return

为了进一步的参考,你可以去

我从来没有使用过
filter\u var()
,也许rexeg会更好,你可以轻松地搜索模式。是一个很好的网站来测试你的regexThank你@Baracuda078,我听说过regex,我会看看的。