日记2018/8/14–字符串对比
在微擎模块中以字符串的形式存储一段信息至模块设置中,每行为其中一条一条,
html输入为t<extarea>
module.php:
$data['message'] = $_GPC['message'];
$this->saveSettings($data);
那么取用时
$messages = explode("\r", $this -> settings['message']);
//根据换行将结果转换为数组
在html页面中显示时,以foreach循环显示option,用来筛选
<select name="message">
<?php foreach ($messages as $v) :?>
<option value="{$v}" <?php if($v == $message)echo 'selected="selected"'; ?> >{$v}</option>
<?php endforeach;?>
</select>
并在页面中以$message=$_GPC['message'];进行接收,
发现,虽然能以接收到的数据进行筛选,但是筛选后除开第一条信息可以被selected,后面皆不能实现==,因此想到对数据进行过滤,这里我就叫提纯吧
str_replace(array(" ", " ", "\t", "\n", "\r"), array("", "", "", "", ""), $val);
首先是对数组中所有值进行提纯,然后对获取到的筛选提交中获得的数据也进行提纯,发现这样除开第一条数据,其余数据皆不能进行数据库的查询,然后就在页面中对对比的数值进行提纯,而数组中原值则保持原样
<?php if(str_replace(array(" ", " ", "\t", "\n", "\r"), array("", "", "", "", ""), $v) == $message)echo 'selected="selected"'; ?>
php页面中获取的$message也进行提纯,然后提交进行测试,结果达标,证实可用,具体原因还待测试。