当前位置: 首页 > 面试题库 >

在PHP中转义引号

解宏扬
2023-03-14
问题内容

我遇到了解析错误,并且我认为是由于引号引起的"time"。我怎样才能将其视为一个整体字符串?

<?php
    $text1 = 'From time to "time" this submerged or latent theater in 'Hamlet'
    becomes almost overt. It is close to the surface in Hamlet's pretense of madness,
    the "antic disposition" he puts on to protect himself and prevent his antagonists
    from plucking out the heart of his mystery. It is even closer to the surface when
    Hamlet enters his mother's room and holds up, side by side, the pictures of the
    two kings, Old Hamlet and Claudius, and proceeds to describe for her the true
    nature of the choice she has made, presenting truth by means of a show.
    Similarly, when he leaps into the open grave at Ophelia's funeral, ranting in
    high heroic terms, he is acting out for Laertes, and perhaps for himself as well,
    the folly of excessive, melodramatic expressions of grief.";

    $text2 = 'From time to "time"';

    similar_text($textl, $text2, $p);
    echo "Percent: $p%";

问题是我不能\在每个引号之前手动添加。这是我需要比较的实际文本。


问题答案:

像这样使用反斜杠

"From time to \"time\"";

在PHP中,反斜杠用于转义引号内的特殊字符。由于PHP不能区分字符串和字符,因此您也可以使用

'From time to "time"';

单引号和双引号之间的区别在于,双引号允许对字符串进行插值,这意味着您可以在字符串中内联引用变量,并且它们的值将像在字符串中那样进行求值

$name = 'Chris';
$greeting = "Hello my name is $name"; //equals "Hello my name is Chris"

根据您对问题的最后一次修改,我认为您可能能够做到的最简单的事情是使用“
heredoc”。它们并不常用,老实说,我通常不会推荐它,但是如果您想要一种快速的方法将文本墙放入单个字符串中,则不推荐使用。可以在以下位置找到语法:http
:
//www.php.net/manual/zh/language.types.string.php#language.types.string.syntax.heredoc,下面是一个示例:


$someVar = "hello";
$someOtherVar = "goodbye";
$heredoc = <<<term
This is a long line of text that include variables such as $someVar
and additionally some other variable $someOtherVar. It also supports having
'single quotes' and "double quotes" without terminating the string itself.
heredocs have additional functionality that most likely falls outside
the scope of what you aim to accomplish.
term;


 类似资料:
  • 本文向大家介绍php jsonp单引号转义,包括了php jsonp单引号转义的使用技巧和注意事项,需要的朋友参考一下 php中jsonp输出时一般用下面的格式: 如果中间的json string中含有单引号,这个输出就是有问题的,调用方一般是无法处理的,所以我们要对单引号进行转义。 如果是用json_encode方式生成可以用下面的方式转义: 这里 JSON_HEX_APOS 是php是提供的把

  • 问题内容: 我想对带有双引号的关键字进行grep操作。举一个简单的例子: 那不匹配。我该如何解决? 问题答案: 问题是您没有正确转义输入字符串,请尝试: 或者,您可以在单引号内使用不转义的双引号: 尽管第二种方法阻止您将命令嵌套在另一组单引号(例如)中,但是您会更清楚地了解到这是一个优先事项。

  • 问题内容: 我坚持这样: 我有一个写在HTML报告。的是 但是该链接不起作用,因为“ Evidencia”未包含在引号中,如何将引号放在参数中? 在带来这二零一三年十月一十日09:15:00.110 问题答案: 您可以使用。在Java中,您可以使用来访问转义字符。

  • 问题内容: 我需要运行以下命令: 所以我执行: 它失败,并显示以下错误: 在命令行中执行命令时,命令起作用。为什么会发生这种情况?我该如何转义那些双引号以防止发生此错误? 问题答案: 当执行给定命令行时,shell将其解析为一组命令行参数,这些参数实际上是: shell解释的参数中的多余引号,而不是传递给基础程序。因此,当使用Go执行相同的程序时,直接在其中传递参数列表,则应省去那些多余的引号。

  • 我有一个java方法,它需要几个字符串。需要从Velocity模板调用此方法。但是,字符串太复杂了,有很多单引号、双引号和逗号。因此,合并失败。有没有办法逃避速度中的引号?

  • 问题内容: 更新: 我想给这个问题一个更新的答案。首先,让我说一下您是否要完成下面的工作,我建议您改为通过添加事件侦听器来管理事件。我强烈建议您将jQuery用于您的项目,并使用其语法来管理事件监听器,而不是使用DOM。 题 好的,我基本上是这样做的: 我不希望在双引号(“)放在'处。我只希望使用单引号,所以我尝试不使它在使用时放入双引号。我试图在最终结果中实现。 转义对我不起作用。 问题答案: