【问题标题】:Check if PHP string contains operation characters [closed]检查PHP字符串是否包含操作字符[关闭]
【发布时间】:2019-03-16 11:48:34
【问题描述】:

我想检查一下是否有任何计算操作,例如:

$str = "part1+part2"

检查 $str 是否包含以下任何字符:+、-、/ 或 >*

然后将字符串的每个部分分配给一个变量

$p1 = "part1";
$p2 = "part2";
$opr = "+";

【问题讨论】:

标签: php regex string substring contains


【解决方案1】:

这是一个可行的正则表达式。我也做了实际的计算,你可能需要也可能不需要。

正则表达式查找 +-/或 * 之前的任何内容,并将其称为 var1,然后查找运算符,然后查找 var2。在这里玩正则表达式https://regex101.com/r/fXw0cv/2

检查一下:

<?php

$x = "50+60";
$regex = '#(?<val1>.*)(?<operator>[\+\-\/\*])(?<val2>.*)#';

preg_match( $regex, $x, $match);

if (count($match)) {
    echo $match['val1'] . $match['operator'] . $match['val2'] .' = ';
    switch ($match['operator']) {
        case '+':
            $result = $match['val1'] + $match['val2'];
            break;
        case '-':
            $result = $match['val1'] - $match['val2'];
            break;
        case '/':
            $result = $match['val1'] / $match['val2'];
            break;
        case '*':
            $result = $match['val1'] * $match['val2'];
            break;
    }
    echo $result;
}

输出:50+60 = 110 https://3v4l.org/LS2pB

【讨论】:

    猜你喜欢
    • 2012-12-27
    • 2012-06-23
    • 1970-01-01
    • 2014-03-03
    • 2011-11-09
    • 2013-05-18
    • 2013-10-26
    • 1970-01-01
    • 2012-02-21
    相关资源
    最近更新 更多