dqmdlo9674 2017-10-02 23:17 采纳率: 100%
浏览 64
已采纳

使用字符串中的字符串填充变量

I have tried various PHP str_* functions, but can't find the right combination of replace, explode(), etc. to do what I need.

I want to grab some specific text that will be in a string -ex below:

Terms of Service ID: #928374 (Val: $2.50, Add'l fee: 10.25%)

Note the string pieces in bold. I need to grab them from that main string. These bolded values of course change several times per user, which is really throwing me off. The non-bolded text is consistent/constant.

Does anyone know if what I am attempting- can be accomplished? If so, could you please provide some guidance/insight? Would be much appreciated.

  • 写回答

3条回答 默认 最新

  • dounao2829 2017-10-02 23:36
    关注

    Given that most of the values are static, you can replace (most of the) static values from the string and explode on spaces. Then you're left with the three values (with a comma on the values, which you can trim away).

    $replace = array("Terms of Service ID: #", "(Val: $", "Add'l fee: ", "%)");
    $string = "Terms of Service ID: #928374 (Val: $2.50, Add'l fee: 10.25%)";
    
    $result = str_replace($replace, "", $string);  // Replace static strings
    $pieces = explode(" ", $result);               // Explode on spaces, get pieces
    $pieces[1] = rtrim($pieces[1], ",");           // Trim away the trailing comma
    
    $id = $pieces[0];
    $value = $pieces[1];
    $fee_percent = $pieces[2];
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题