Прочие движки | как сменить пробел на +
Всем привет, нужна вала помощь. Надо заменить пробел на +
Есть код в котором идёт запрос с форма поиска. Но иногда бывает что запрос имеет двух и более слов. Скрипт занесет в БД запрос с пробелом если запрос имеет более одного слова.
Вот сам код:
Есть код в котором идёт запрос с форма поиска. Но иногда бывает что запрос имеет двух и более слов. Скрипт занесет в БД запрос с пробелом если запрос имеет более одного слова.
Вот сам код:
<?if(preg_match("#^([А-Яа-яЁёa-zA-Z0-9\s])+$#ui", $_POST['zapros']) AND strlen($_POST['zapros']) > 3 AND strlen($_POST['zapros']) < 30 AND isset($_POST['submit']) AND $_POST['sort'] == 'relevance' OR $_POST['sort'] == 'date' OR $_POST['sort'] == 'rating' OR $_POST['sort'] == 'title' OR $_POST['sort'] == 'viewCount' AND $_POST['to'] == 'any' OR $_POST['to'] == 'movie' OR $_POST['to'] == 'episode'){?>
<?if(core::$dbs->querySingle("SELECT COUNT(id) FROM obr WHERE text = ?", array(filtr($_POST['zapros'])))):?>
<?core::$dbs->query("UPDATE obr SET count = count+?, time = ? WHERE text = ? LIMIT 1",array(1,time(),filtr($_POST['zapros'])))?>
<?else:?>
<?core::$dbs->query("INSERT INTO obr SET count = ?, text = ?, time = ?",array(1,filtr($_POST['zapros']),time()))?>
<? endif ?>
<?$_SESSION['sort'] = filtr($_POST['sort'])?>
<?$_SESSION['ot'] = filtr($_POST['to'])?>
<?($_POST['act'] ? $_SESSION['hd'] = 1 : $_SESSION['hd'] = 0)?>
<?die(header('Location: '.$papka. 'results/' .filtr($_POST['zapros']) . '/'))?>
<?}else{?>
<?die(header('Location: '.$papka))?>
<?}?>
<?php $a = str_replace(" ", "+", $a);
________
посл. ред. 26.04.2019 в 14:35; всего 1 раз(а); by monobogdan
monobogdan (26.04.2019 в 14:35)
<?php $a = str_replace(" ", "+", $a);
А где надо написать этот код? Просто я плохо шарю в php
monobogdan (26.04.2019 в 14:35)
<?php $a = str_replace(" ", "+", $a);
Вместо переменной $а надо поставить $_POST['zapros']?
356024460, да
monobogdan (26.04.2019 в 14:46)
356024460, да
сделал вот так, но открывается белая страница (356024460, да
<?php
$_POST['zapros'] = str_replace(" ", "+", $_POST['zapros']);
?>
<?if(preg_match("#^([А-Яа-яЁёa-zA-Z0-9--_-.\s])+$#ui", $_POST['zapros']) AND strlen($_POST['zapros']) > 3 AND strlen($_POST['zapros']) < 400 AND isset($_POST['submit']) AND $_POST['sort'] == 'relevance' OR $_POST['sort'] == 'date' OR $_POST['sort'] == 'rating' OR $_POST['sort'] == 'title' OR $_POST['sort'] == 'viewCount' AND $_POST['to'] == 'any' OR $_POST['to'] == 'movie' OR $_POST['to'] == 'episode'){?>
<?if(core::$dbs->querySingle("SELECT COUNT(id) FROM obr WHERE text = ?", array(filtr($_POST['zapros'])))):?>
<?core::$dbs->query("UPDATE obr SET count = count+?, time = ? WHERE text = ? LIMIT 1",array(1,time(),filtr($_POST['zapros'])))?>
<?else:?>
<?core::$dbs->query("INSERT INTO obr SET count = ?, text = ?, time = ?",array(1,filtr($_POST['zapros']),time()))?>
<? endif ?>
<?$_SESSION['sort'] = filtr($_POST['sort'])?>
<?$_SESSION['ot'] = filtr($_POST['to'])?>
<?($_POST['act'] ? $_SESSION['hd'] = 1 : $_SESSION['hd'] = 0)?>
<?die(header('Location: '.$papka. 'results/' .filtr($_POST['zapros']) . '/'))?>
<?}else{?>
<?die(header('Location: '.$papka))?>
<?}?>
DELETED
26 апреля 2019, в 15:11
Delete
monobogdan (26.04.2019 в 14:46)
356024460, да
сделал вот так, но открывается белая страница (
чтобы не было белой страницы и увидеть ошибку, то в начало кода поместить
error_reporting(-1);
PhpStorm (26.04.2019 в 15:11)
356024460 (26.04.2019 в 14:49)
monobogdan (26.04.2019 в 14:46)
356024460, да
сделал вот так, но открывается белая страница (
чтобы не было белой страницы и увидеть ошибку, то в начало кода поместить
356024460 (26.04.2019 в 14:49)
monobogdan (26.04.2019 в 14:46)
356024460, да
сделал вот так, но открывается белая страница (
чтобы не было белой страницы и увидеть ошибку, то в начало кода поместить
error_reporting(-1);
Всеравно белая страница (
Код ошибки Parse error: syntax error, unexpected ''+'' (T_CONSTANT_ENCAPSED_STRING) in /storage/emulated/0/htdocs/ban.php on line 4