我在wordpress中使用短代码执行插件。
这只允许我编写像[email_spamproof]
这样的短代码但我试图回应一个剧本。请看下面......
<?php
echo '<script type="text/javascript">
<!--
// spam protected email
emailE=("enquiries@" + "example.co.uk")
document.write('<a title="E-mail Example" href="mailto:' + emailE + '">' + emailE + '</a>')
//-->
</script>
<noscript>
<span class="spam-protected">Email address protected by JavaScript. Please enable JavaScript.</span>
</noscript>';
?>
现在你可能已经看到了我的问题。
通常当我回复东西时,它会像这样... echo 'hello';
然后使用相同的撇号打破字符串
- 像这样......
echo 'hello ' . php_name() . ' and friends'
我的问题
该脚本还通过在字符串中添加脚本变量来使用类似的方法,但这些脚本撇号将混淆为PHP撇号,并打破回显的字符串。
我该如何避免这种情况?
由于
答案 0 :(得分:2)
\
字符是转义字符。在用于分隔字符串的字符的每个内部使用前加一个。
或者,使用HEREDOC。
答案 1 :(得分:2)
很容易。将您的javascript代码保存在一个新文件中,然后使用它来加载它:
include('myjavascript.php');
然后,您将使用include
选项作为echo
,因为网络会将您的代码理解为HTML,并且您可以根据需要php
执行该代码(例如echo
)。
答案 2 :(得分:2)
正确的代码:
<?php
echo "<script type='text/javascript'>
<!--
// spam protected email
emailE=('enquiries@' + 'example.co.uk')
document.write('<a title='E-mail Example' href='mailto:' + emailE + ''>' + emailE + '</a>')
//-->
</script>
<noscript>
<span class='spam-protected'>Email address protected by JavaScript. Please enable JavaScript.</span>
</noscript>";
?>
答案 3 :(得分:0)
你可以在你的javasript代码中编写,然后在你的php echo中只使用单引号(')。
更合适方法是在您的javascript代码“ \'”中使用转义字符(不带双引号)
答案 4 :(得分:0)
你需要转义它们然后连接变量:
(我也不知道你是否意识到,但你正在回应javascript的注释部分)
echo '<script type="text/javascript">
<!-- // spam protected email
emailE=("enquiries@" + "example.co.uk")
document.write(\'<a title="E-mail Example" href="mailto:'.emailE.'">'.emailE.'</a>\')
//-->
</script>
<noscript>
<span class="spam-protected">Email address protected by JavaScript. Please enable JavaScript.</span>
</noscript>';
答案 5 :(得分:0)
您可以使用反斜杠转义它们:echo 'It\'s cold';
或使用heredoc
:
echo <<<END
lots of text here
END;