Как добавить текст, если htmlspecialchars пуст? Например, example.com/name.php?name=Bahirah
, если «name =» пусто, то как добавить текст, говорящий что-то вроде «Пожалуйста, введите имя» Пример: example.com/name.php?name=
или example.com/name.php
, если URL-адрес выглядит так, как будто ничего не стоит за «=» или вообще нет htmlspecialchars Я хочу, чтобы текст, чтобы сказать: «Пожалуйста, введите имя»Как добавить текст, если htmlspecialchars пуст?
ответ
Я думаю, что вы хотите проверить, что URL Счетчики для получения currrent URL вы можете посмотреть ниже ссылку
код для URL является: - $ actual_link = "http: // $ _ SERVER [HTTP_HOST] $ _SERVER [REQUEST_URI]";
теперь вы можете проверить с помощью регулярных выражений, что если имя пустое, как этот
$actual_link="http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$pattern = "/[^=]+$/"; // this will give u full string after last '=' sign
preg_match($pattern,$actual_link , $matches);
print_r($matches); //this will give array
Я испытал это и получил ожидаемый результат попробуйте
OK Я не думаю, что это связано с htmlspecialchars больше делать со строками, подстроками и положением символов. Ваш вопрос также довольно «широкий», потому что строка, которую вы ищете, будет получена после отправки страницы или формы, вам нужно будет проанализировать строку и сообщить пользователю, что им нужно ввести больше данных. Вероятно, вам лучше было бы это сделать в тот момент, когда форма была закончена. Вы можете проверить наличие каких-либо символов после «=» или «.php» или обоих или даже просто проверить длину возвращаемой строки, но я не знаю, как переменная может быть возвращена. Так на основе того, что вы сказали мне, что это может помочь ....
<?php
function AnyThingThere($string, $substring) {
$pos = strpos($string, $substring);
if ($pos === false)
return $string;
else
return(substr($string, $pos+strlen($substring)));
}
echo AnyThingThere('example.com/name.php?name=', '=');
?>
это будет возвращать все после «=»
если я изменил код
<?php
function AnyThingThere($string, $substring) {
$pos = strpos($string, $substring);
if ($pos === false)
return $string;
else
return(substr($string, $pos+strlen($substring)));
}
echo AnyThingThere('example.com/name.php?name=', '.php');
?>
его вернусь
'?' имени
[Как создать Minimal, полный и проверяемый пример] (http://stackoverflow.com/help/Mcve) – buhtz