Как убрать косые черты из поискового запроса

Я добавил следующий код в файл index.php темы на одном из моих сайтов WordPress, чтобы на странице результатов поиска отображался заголовок, содержащий фактическое условие поиска. Другими словами, если я ищу слово синий, этот заголовок будет затем читать, Результаты поиска для: blue.

<?php
if ( is_search() ); ?>
<h3>Search results for: <?php print_r($_GET['s']); ?></h3>

Однако вывод невелик, когда фаза в кавычках помещается в строку поиска. Другими словами, если я ищу фразу «синий цвет», то этот заголовок гласит: Результаты поиска по запросу: \ «синий цвет \»

Я хотел бы знать, как остановить эти обратные слеши. Я провел некоторые исследования, но ничего, что я нашел, не сработало. Я новичок в PHP максимум.

1

Решение

просто используйте echo:

<?php
if ( is_search() ); ?>
<h3>Search results for: <?php echo $_GET['s']; ?></h3>

Вы должны «экранировать» эту переменную, прежде чем печатать ее! Представьте, если кто-то написал <script> в строке поиска, которая занимала ваш сайт, когда он был напечатан. Читайте здесь: Экранирующие переменные. Один пример будет таким:

echo htmlspecialchars($_GET['s']);

Это удаляет символы, такие как < а также > так что никто не может распечатать сценарии или HTML на вашем сайте

2

Другие решения

PHP позволяет легко удалять значения из строки, используя explode() команда.

$fractor = explode("\", $_GET['s']);

Ты можешь позвонить $fractor что вам нравится, просто помните, что он становится массивом всех разделенных строк.

Ссылка: http://php.net/manual/en/function.explode.php

0

использование print вместо print_r

<?php
if ( is_search() ); ?>
<h3>Search results for: <?php print($_GET['s']); ?></h3>

Есть некоторая разница в print_r & print

Распечатать

  • Выводит только одну строку

  • Возвращает 1, поэтому его можно использовать в выражении

  • например печать «Привет»

  • или, если ($ expr && печать «фу»)

print_r ()

  • Выводит удобочитаемое представление любого значения

  • Принимает не только строки, но и другие типы, включая массивы и объекты, форматируя их для чтения

  • Полезно при отладке

  • Может возвращать свой вывод как возвращаемое значение (вместо эха), если задан второй необязательный аргумент

-1
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector