php - 剪切(裁剪)字符串中的一些文本

标签 php string preg-replace

我有一个带有 3 个 block 参数(单词、数字、斜杠)的字符串,我需要将其分开并仅打印最后一个 block 参数。我这样做:

<?php
$howmuch="17шт / 119ml / 255грн";
echo preg_replace("/(\\d\\w\\ / )(\\d\\w\\ / )(\\d\\w\\ / )$/i", "$3", $howmuch);
?>

我只需要打印 255грн,但我的脚本什么也不做。请帮我解决问题。谢谢大家。

最佳答案

如果格式是固定的,您可以使用不使用任何正则表达式来获取值

explode(" / ", $howmuch)[2]

请参阅PHP demo 。它将用 space-/-space 分割字符串,并获得结果数组的第三个元素。

或者,您可以使用 preg_match 操作提取一个带有 грн 的数字(这种方法可以让您找到匹配项,无论如何比赛之前或之后有很多/):

$howmuch="17шт / 119ml / 255грн";
if (preg_match("/\d+\s*грн/ui", $howmuch, $results)) {
    echo $results[0];
}

请参阅PHP demo .

如果值可以包含小数部分,则可以使用 "/\d+(?:[.,]\d+)?\s*грн/ui" 其中 (? :[.,]\d+)? 匹配 ., 后跟 1 个以上数字的可选序列。

关于php - 剪切(裁剪)字符串中的一些文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52470950/

相关文章:

php - session 值将存储在 PHP 中的什么位置

javascript - String 和 Array 泛型方法将在未来被弃用

c++ - 如何获取字符串中的单词数

PHP替换句子中连续出现的字符

php - php升级到5.4.10后运行mongo.so失败

php - Facebook iframe 应用程序授权后重定向到 Facebook 页面选项卡

php - 使用 MySQL、PHP 和 cron 根据带时间戳的数据对每日值求和

android - textview 上的颜色和样式操作

php - 去掉括号前后的空格

PHP正则表达式: could not convert space into glue