我将以下代码添加到我的一个WordPress网站上的主题的index.php文件中,以便在搜索结果页面上显示包含实际搜索词的标题。换句话说,如果我搜索 blue 这个词,那么这个标题会被读取,搜索结果为:blue 。
<?php
if ( is_search() ); ?>
<h3>Search results for: <?php print_r($_GET['s']); ?></h3>
当引号中的某个阶段进入搜索栏时,输出效果不佳。换句话说,如果我搜索短语“蓝色是一种颜色”,则此标题为:搜索结果:\“蓝色是一种颜色\”
我想知道如何阻止这些反斜杠出现。我做了一些研究,但我发现没有任何效果。我最多只是一个php初学者。
答案 0 :(得分:2)
只需使用echo:
<?php
if ( is_search() ); ?>
<h3>Search results for: <?php echo $_GET['s']; ?></h3>
你必须&#34;逃避&#34;这个变量在你打印之前!想象一下,如果有人在搜索栏中写了一个<script>
,在打印时会对您的网站进行操作。请继续阅读:Escaping variables。一个例子是这样的:
echo htmlspecialchars($_GET['s']);
这会删除<
和>
等字符,因此没有人可以在您的网站上打印脚本或HTML
答案 1 :(得分:0)
PHP允许您使用explode()
命令轻松地从String中删除值。
$fractor = explode("\", $_GET['s']);
您可以调用$fractor
您喜欢的内容,只需记住它就会成为所有拆分字符串的数组。
答案 2 :(得分:-1)
使用print
代替print_r
<?php
if ( is_search() ); ?>
<h3>Search results for: <?php print($_GET['s']); ?></h3>
print_r
&amp; print
打印强>
仅输出一个字符串
返回1,因此可以在表达式中使用
e.g。打印&#34;您好&#34;
或者,如果($ expr&amp;&amp; print&#34; foo&#34;)
<强>的print_r()强>
输出任何一个值的人类可读表示
不仅接受字符串,还接受包括数组和对象在内的其他类型,将其格式化为可读
调试时很有用
如果给出第二个可选参数,可以将其输出作为返回值(而不是回显)返回