如何用Sprintf保持双引号?

时间:2018-09-10 03:06:46

标签: php

好吧,我尝试创建类似的东西:

$mutation = 'mutation {
  companyCreate(
      name: "'. $name .'",
      description: "'. $description .'"
  ) {
    idCompany
    name
  }
}';

但是有时候,变量可能带有双引号,并且可能破坏我的突变代码。

因此,我尝试使用sprintf

我有一个这样的变量:

$myVar = '{description: "%s"}';

我正在使用sprintf函数以这种方式替换文本:

sprintf($myVar, "This is the description");

但是有些时候我必须添加此文本sprintf($myVar, "The \"awesome\" day");

但是,sprintf打印此:

{description: "The "awesome" day"}

但是我需要抓住它: {description: "The \"awesome\" day"}

您最好的解决方案是什么?

1 个答案:

答案 0 :(得分:0)

那呢?

sprintf($myVar, addslashes('The "awesome" day'));

它输出

{description: "The \"awesome\" day"}