【发布时间】:2011-12-21 09:34:23
【问题描述】:
我收到一个解析错误,我认为这是因为"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%";
问题是我不能在每个引号之前手动添加\。这是我需要比较的实际文本。
【问题讨论】:
-
此处为手册:php.net/manual/en/language.types.string.php - 转义与大多数其他 C 风格语言相同。
-
实际上,上面截图中的问题始于单词 Hamlet 之前的单引号,正如着色所暗示的那样。由于字符串以单引号开头,所以里面的所有单引号都必须转义,除了最后一个。所以,第一个变量声明应该像这样开始:
'From time to "time" this ... theater in \'Hamlet\'...$text2 变量其实没问题。
标签: php