转换'和"在变量内部使用的字符串内。 (JavaScript)的

时间:2015-08-29 09:55:25

标签: javascript

有人可以帮我这个。我需要将它作为长字符串存储在变量中。我有一个名为simple的函数,将其插入附加到另一个div的DOM中。一切都运行得很好,除了我不知道如何存储这个字符串与其中的所有"和#34; s。我已经尝试使用我在搜索中找到的\和unescape方法,但似乎无法正常工作。有人可以帮帮我吗?

'<div class="centerContent"><P>Please fill in the form below to send an email to H.O.V.A.R.<br/>All fields are required.</p><?php if(!empty($errors)): ?><div class="errorPanel"><ul><li><?php echo implode('</li><li>',$errors); ?></li></ul></div><?php endif ?><form action="contact.php" method="post" accept-charset="utf-8"><label>Your Name:<input type="text" name="name" style="display:block" autocomplete="off"<?php echo isset($fields['name']) ? 'value="' . e($fields['name']) . '"' : '' ?>></label><label>Your email address:<input type="text" name="email" style="display:block" autocomplete="off"<?php echo isset($fields['email']) ? 'value="' . e($fields['email']) . '"' : '' ?>></label><label>Your Message:<textarea name="message" rows="10" style="display:block"><?php echo isset($fields['message']) ? e($fields['message']) : '' ?></textarea></label><input type="submit" value="Send" style="display:block"></form></div>'

2 个答案:

答案 0 :(得分:0)

虽然以下显示了如何逃避引号,但是如此长的字符串是非常笨拙的,并且不清楚你最终要实现的目标......

此外,由于您还尝试从PHP插入内容,因此还需要以类似的方式进行转义。

# some segment-segment intersection code
# http://paulbourke.net/geometry/pointlineplane/
ssi <- function(x1, x2, x3, x4, y1, y2, y3, y4){

  denom <- ((y4 - y3)*(x2 - x1) - (x4 - x3)*(y2 - y1))
  denom[abs(denom) < 1e-10] <- NA # parallel lines

  ua <- ((x4 - x3)*(y1 - y3) - (y4 - y3)*(x1 - x3)) / denom
  ub <- ((x2 - x1)*(y1 - y3) - (y2 - y1)*(x1 - x3)) / denom

  x <- x1 + ua * (x2 - x1)
  y <- y1 + ua * (y2 - y1)
  inside <- (ua >= 0) & (ua <= 1) & (ub >= 0) & (ub <= 1)
  data.frame(x = ifelse(inside, x, NA), 
             y = ifelse(inside, y, NA))

}
# do it with two polylines (xy dataframes)
ssi_polyline <- function(l1, l2){
  n1 <- nrow(l1)
  n2 <- nrow(l2)
  stopifnot(n1==n2)
  x1 <- l1[-n1,1] ; y1 <- l1[-n1,2] 
  x2 <- l1[-1L,1] ; y2 <- l1[-1L,2] 
  x3 <- l2[-n2,1] ; y3 <- l2[-n2,2] 
  x4 <- l2[-1L,1] ; y4 <- l2[-1L,2] 
  ssi(x1, x2, x3, x4, y1, y2, y3, y4)
}
# testing the above
d1 <- cbind(seq(1, 10), rnorm(10))
d2 <- cbind(seq(1, 10), rnorm(10))
plot(rbind(d1, d2), t="n")
lines(d1)
lines(d2, col=2)
points(ssi_polyline(d1, d2))

# do it with all columns of a matrix (common xs assumed)
# the general case (different xs) could be treated similarly
# e.g by doing first a linear interpolation at all unique xs
ssi_matrix <- function(x, m){
  # pairwise combinations
  cn <- combn(ncol(m), 2)
  test_pair <- function(i){
    l1 <- cbind(x, m[,cn[1,i]])
    l2 <- cbind(x, m[,cn[2,i]])
    pts <- ssi_polyline(l1, l2)
    pts[complete.cases(pts),]
  }
  ints <- lapply(seq_len(ncol(cn)), test_pair)
  do.call(rbind, ints)

}
# testing this on a matrix
m <- replicate(5, rnorm(10))
x <- seq_len(nrow(m))
matplot(x, m, t="l", lty=1)
test <- ssi_matrix(x, m)
points(test)

# now, apply this to the dataset at hand

library(ggplot2)
library(reshape2)
library(plyr)
set.seed(123)
data <- data.frame(decade=1:10)
n=nrow(data)
data$maxa <- runif(n,1000,2000)
data$maxb <- runif(n,1000,2000)
data$maxc <- runif(n,1000,2000)
data$maxd <- runif(n,1000,2000)
data$maxe <- runif(n,1000,2000)

newpoints <- setNames(data.frame(ssi_matrix(data$decade, data[,-1L]), 
                                 "added"), c("decade", "value", "variable"))
mdata <- melt(data, id=1L)

interpolated <- ddply(mdata, "variable", function(d){
  xy <- approx(d$decade, d$value, xout=newpoints[,1])
  data.frame(decade = xy$x, value=xy$y, variable = "interpolated")
})

all <- rbind(mdata, interpolated, newpoints)

rib <- ddply(all, "decade", summarise, 
             ymin=min(value), ymax=max(value))

ggplot(mdata, aes(decade)) +
  geom_ribbon(data = rib, aes(x=decade, ymin=ymin, ymax=ymax),
              alpha=0.40,fill="#3985ff")+
  geom_line(aes(y=value, colour=variable))

答案 1 :(得分:0)

由于您的字符串以单引号开头,因此您需要在构建字符串期间转义每个单引号(如果您使用双引号启动字符串,则必须转义双引号)。在字符串内部,每个单引号都需要通过前面的反斜杠进行转义(如下所示:\&#39;)。使用字符串时不能这样做,因为PHP和/或Javascript会抱怨字符串中有非法令牌。

当你这样做时,你可以在PHP中回显它,但由于它是一个字符串,它不会给你想要的结果。根据所使用的技术,您将获得扭曲的形式或错误。

这一切都归结为在字符串中调用PHP。你应该做的是消除字符串中的php调用。因此输入&#34; <?php .... ?>&#34;在字符串中,您应该将PHP调用的结果输入到字符串中。