2016-09-11 5 views
-2

Как добавить текст, если htmlspecialchars пуст? Например, example.com/name.php?name=Bahirah, если «name =» пусто, то как добавить текст, говорящий что-то вроде «Пожалуйста, введите имя» Пример: example.com/name.php?name= или example.com/name.php, если URL-адрес выглядит так, как будто ничего не стоит за «=» или вообще нет htmlspecialchars Я хочу, чтобы текст, чтобы сказать: «Пожалуйста, введите имя»Как добавить текст, если htmlspecialchars пуст?

+0

[Как создать Minimal, полный и проверяемый пример] (http://stackoverflow.com/help/Mcve) – buhtz

ответ

0

Я думаю, что вы хотите проверить, что URL Счетчики для получения currrent URL вы можете посмотреть ниже ссылку

Get the full URL in PHP

код для 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 

Я испытал это и получил ожидаемый результат попробуйте

0

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'); 
?> 

его вернусь

'?' имени