我试图通过查看返回的数据是否包含任何带有php的html标签来使这段代码工作,但它似乎不起作用..
function returnRegflow()
{
$data = "<html><body>";
return $data;
if(preg_match('html', $data))
{
echo 'error';
} else if(strpos($data, 'regflow') !== false){
echo $data;
}
}
echo returnRegflow();
答案 0 :(得分:0)
一些问题:
return
之前的if
过早退出,因此它永远不会检查标签; preg_match
期望第一个参数是正则表达式,因此它在开头和结尾需要一个分隔符(如/
); echo
输出结果不是函数的工作方式。而是以字符串或布尔值的形式返回结果; 你好像在寻找这样的东西:
function returnRegflow($data) {
if (preg_match('/<\w/', $data)) {
return 'contains tags';
}
if (strpos($data, 'regflow') !== false){
return $data;
}
return 'does not contain "regflow"';
}
echo returnRegflow("<html><body>");
对标签的检查非常简陋:它检查文本是否包含<a
的任何内容,其中a
可以是任何字母。