如果htmlspecialchars为空,如何添加文本?

时间:2016-09-11 04:50:16

标签: php

如果htmlspecialchars为空,如何添加文本?例如example.com/name.php?name=Bahirah如果" name ="空白然后我如何添加文字说“'请输入名称'例如:example.com/name.php?name=example.com/name.php如果网址看起来没有" ="或者根本没有htmlspecialchars然后我希望文字说“请输入一个名字'

2 个答案:

答案 0 :(得分:0)

我认为你想检查网址参数,以获得你可以查看以下链接的网址

Get the full URL in PHP

网址代码是: - $ 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

我测试了它并得到了预期的结果尝试

答案 1 :(得分:0)

好吧我不认为这与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=', '=');
?>

这将返回&#39; =&#39;

之后的所有内容

如果我将代码更改为

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

它将返回

&#39;名称&#39;