php 将字符串按大写字母分隔成字符串数组

 更新时间:2016年11月25日 15:57  点击:2155

alert("createTechBook".split(/(?=[A-Z])/)) 谢了啊

<?php教程
$str="abcDefGhi";
/*
preg_match_all("/([a-zA-Z]{1}[a-z]*)?[^A-Z]/",$str,$array);
*/
$array=preg_split("/(?=[A-Z])/",$str);
print_r($array);
?>


复制代码 代码如下:
<?php
$string = "createTechBook";
$arr = preg_split("/(?=[A-Z])/", $string);
print_r($arr);
?>

可执行验证的规则有
NotEmpty 不能为空
Number 只能是整数
isEmail 邮箱地址是否正确
hasOne 是否是唯一(是否重复,是否已经存在)
Regex 自定义正则表达式

验证的格式为
array(验证方法, 进行验证的字段名称, 验证错误的提示信息)
对于正则表达示的验证
array("Regex", "mobile", '/^13d{9}$/', "用户名不能留空")
//执行写入数据的片段...
//执行数据入库的操作
private function PostData() {
$fields = array("username", "password", "email");
$post = array_map("trims", $_POST); //清除所有数据两边多余的空格
$post = parseHTML($post, $fields); //将指定的字段内容进行清除HTML处理
$data = parseFields($post, $fields); //提取可以写入数据库的字段(防止别人绕过你的页面进行提交一些别有用心的数据)
$DB = & M("member");
//进行数据验证
if (!$DB->verify($data)) {
//验证失败,取出失败的原因,并提交到模板页面中
$this->assign("error", $DB->getVerifyError());
//把提交过来的数据也提交到模板中(用以实现用户好像没有离开过页面的感觉)
$this->assign("default", $post);
//渲染注册页面模板
$this->display("www.111cn.net/register.html");
}
else {
//写入数据库
$result = $DB->create($data);
//返回布尔型,说明数据写入失败,渲染注册页面模板
if (is_bool($result)) {
$this->assign("default", $post);
$this->display("/register.html");
}
else {
//注册成功,渲染注册成功页面模板
$this->assign("username", $data["username"]);
$this->display("/reg_success.html");
}
}
}

操作代码
<?php教程
class MemberModel extends AppModel
{
/** 设置数据库表名称 **/
protected $tableName = "members";
/**
* 数据验证规则
*/
protected $verify = array(
array("NotEmpty", "username", "用户名不能留空"),
array("hasOne", "username", "此用户已经存在,请换另一个用户名称再试一次"),
array("NotEmpty", "password", "密码不能留空"),
array("NotEmpty", "email", "邮箱地址不能留空"),
array("isEmail", "email", "邮箱地址格式不正确"),
array("hasOne", "email", "邮箱地址已经被占用")
);
/**
* 覆盖父类添加数据入库的方法
* 先对用户密码进行md5加密,再调用父类的方法写入数据库中
*/
public function create($data) {
$data = array_map("addslashes", $data); //将数据中的标点符号(单、双引号)进行安全转义
$data["password"] = md5($data["password"]);
return parent::create($data);
}
}
?>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body>
html复选框如果要以数据组形式发送给php脚本处理就必须以如checkbox[]这形式
<form id="form1" name="form1" method="post" action="">
  <label>
  <input type="checkbox" name="checkbox[]" value="1" />
  </label>
  <label>
  <input type="checkbox" name="checkbox[]" value="2" />
  </label>
  <label>
  <input type="checkbox" name="checkbox[]" value="www.111cn.net" />
  </label>
  <label>
  <input type="checkbox" name="checkbox[]" value="111cn.net" />
  </label>
  <label>
  <input type="submit" name="Submit" value="提交" />
  </label>
</form>
</body>
</html>
<?
//判断是否点击提交
if( $_POST )
{
 $array = $_POST['checkbox'];
 print_r($array);
}
/*
 结果:
 Array
 (
  [0] => 1
  [1] => 2
  [2] => www.111cn.net
  [3] => 111cn.net
 )
 
 简单的很多事情在做之前觉得复杂但做起来就很容易了,像这个复选框代码就是这样了。
 本文章原创于www.111cn.net转载注明来源
*/
?>

if($_POST['op'] == 'edit') {
    $sql = "
        UPDATE " . TABLE_PREFIX . "user
        SET
            name = '" . $_POST['name'] . "',
            birthday = '" . $_POST['birthday'] . "',
            email = '" . $_POST['email'] . "',
            sex = '" . $_POST['sex'] . "'
        WHERE
            id = '" . $_POST['id'] . "'

        ";
    if(db_exec($sql)) {
        $notice = array(
            'msg' => '修改成功',
            'alt' => '列表用户',
            'url' => '?op=index'
        );
        require_once 'view/_notice.phtml';
    } else {
        $notice = array(
            'msg' => '修改失败',
            'alt' => '修改用户',
            'url' => '?op=edit&id=' . $_POST['id']
        );
        require_once 'view/_notice.phtml';
    }
} else {
    $sql = "
        SELECT *
        FROM ". TABLE_PREFIX . "user
        WHERE id = '". (int)$_GET['id'] ."' ";
    $data = fetch($sql);
    require_once 'www.111cn.net/edit.phtml';
}

edit.phtml代码

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>用户编辑</title>
</head>
<body>
    <h3>用户编辑</h3>
    <form action="?op=edit" method="post" enctype="application/x-www-form-urlencoded">
        姓名:<input type="text" name="name" size="15" value="<?php echo $data['name'] ?>" /><br />
        生日:<input type="text" name="birthday" size="10" value="<?php echo $data['birthday'] ?>" /> (YYYY-MM-DD)<br />
        邮箱:<input type="text" name="email" size="30" value="<?php echo $data['email'] ?>" /><br />
        性别:<input type="radio" name="sex" value="3"<?php if($data['sex'] == '-') : ?> checked="checked"<?php endif; ?> />保密
              <input type="radio" name="sex" value="1"<?php if($data['sex'] == 'M') : ?> checked="checked"<?php endif; ?> />男
              <input type="radio" name="sex" value="2"<?php if($data['sex'] == 'F') : ?> checked="checked"<?php endif; ?> />女<br />
        <input type="hidden" name="id" value="<?php echo $data['id'] ?>" />
        <input type="hidden" name="op" value="edit" /><br />
        <input type="submit" name="submit" value="编辑用户www.111cn.net" />
    </form>
    <?php require_once 'view/_foot.phtml'; ?>
</body>
</html>

<?php

数据结构

CREATE TABLE IF NOT EXISTS `leo_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` char(30) NOT NULL,
  `birthday` date NOT NULL,
  `email` char(60) NOT NULL,
  `sex` enum('M','F','-') NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `email` (`email`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;

--
-- 导出表中的数据 `leo_user`
--

INSERT INTO `leo_user` (`id`, `name`, `birthday`, `email`, `sex`) VALUES
(1, '张三', '1980-01-01', 'zhangshan@email.com', 'M'),
(2, '李四', '1998-01-25', 'lisi@test.com', 'M'),
(3, '王五', '1985-12-24', 'wangwu@leophp.cn', '-'),
(4, '赵六', '1978-05-05', 'zhaoliu@test.com', 'F');

 

function db_exec($sql) {
    $resource = mysql教程_connect(DB_HOST, DB_USER, DB_PASSWORD);   //连接数据库教程
    mysql_query("SET NAMES '" . DB_CHARSET . "' ;");            //设置字体集
    $connect = mysql_select_db(DB_NAME, $resource);             //选择数据库
    return mysql_query($sql, $resource);     //执行SQL
}

if($_POST['op'] == 'add') {
    $sql = "
        INSERT INTO " . TABLE_PREFIX . "user (
            name,
            birthday,
            email,
            sex )
        VALUES (
            '" . $_POST['name'] . "',
            '" . $_POST['birthday'] . "',
            '" . $_POST['email'] . "',
            '" . $_POST['sex'] . "'
        )";
    if(db_exec($sql)) {
        $notice = array(
            'msg' => '添加成功',
            'alt' => '列表用户',
            'url' => '?op=index'
        );
        require_once www.111cn.net/_notice.phtml';
    } else {
        $notice = array(
            'msg' => '添加失败',
            'alt' => '添加用户',
            'url' => '?op=add'
        );
        require_once www.111cn.net/_notice.phtml';
    }
} else {
    require_once 'view/add.phtml';
}

//add.phtml模板页面

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>用户添加</title>
</head>
<body>
    <h3>用户添加</h3>
    <form action="?op=add" method="post" enctype="application/x-www-form-urlencoded">
        姓名:<input type="text" name="name" size="15" /><br />
        生日:<input type="text" name="birthday" size="10" /> (YYYY-MM-DD)www.111cn.net<br />
        邮箱:<input type="text" name="email" size="30" /><br />
        性别:<input type="radio" name="sex" value="3" />保密
              <input type="radio" name="sex" value="1" />男
              <input type="radio" name="sex" value="2" />女<br />
        <input type="hidden" name="op" value="add" /><br />
        <input type="submit" name="submit" value="添加用户" />
    </form>
    <?php require_once 'view/_foot.phtml'; ?>
</body>
</html>

[!--infotagslink--]

相关文章

  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • C#中截取字符串的的基本方法详解

    这篇文章主要介绍了C#中截取字符串的的基本方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-03
  • c#中判断字符串是不是数字或字母的方法

    这篇文章介绍了C#判断字符串是否数字或字母的实例,有需要的朋友可以参考一下...2020-06-25
  • PostgreSQL判断字符串是否包含目标字符串的多种方法

    这篇文章主要介绍了PostgreSQL判断字符串是否包含目标字符串的多种方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-23
  • Python 图片转数组,二进制互转操作

    这篇文章主要介绍了Python 图片转数组,二进制互转操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-09
  • 详解C++ string常用截取字符串方法

    这篇文章主要介绍了C++ string常用截取字符串方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-25
  • php数组操作 键名比较 差集 交集赋值

    本文章提供在量的数据中级操作实例有如对键名比较计算数组的差集 计算差集 给指定数组中插入一个元素 反转数组 交集赋值新的数组实例。 //定义回调函数 funct...2016-11-25
  • C#二维数组基本用法实例

    这篇文章主要介绍了C#二维数组基本用法,以实例形式分析了C#中二维数组的定义、初始化、遍历及打印等用法,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • php字符串按照单词逐个进行反转的方法

    本文实例讲述了php字符串按照单词进行反转的方法。分享给大家供大家参考。具体分析如下:下面的php代码可以将字符串按照单词进行反转输出,实际上是现将字符串按照空格分隔到数组,然后对数组进行反转输出。...2015-03-15
  • php curl模拟post请求和提交多维数组的示例代码

    下面一段代码给大家介绍php curl模拟post请求的示例代码,具体代码如下: <&#63;php$uri = "http://www.cnblogs.com/test.php";//这里换成自己的服务器的地址// 参数数组$data = array ( 'name' => 'tanteng'// 'passwor...2015-11-24
  • C#数组的常用操作方法小结

    Array数组在C#中同样是最基本的数据结构,下面为大家C#数组的常用操作方法小结,皆为细小的代码段,欢迎收看收藏...2020-06-25
  • MySQL 字符串拆分操作(含分隔符的字符串截取)

    这篇文章主要介绍了MySQL 字符串拆分操作(含分隔符的字符串截取),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-22
  • C#实现字符串转换成字节数组的简单实现方法

    这篇文章主要介绍了C#实现字符串转换成字节数组的简单实现方法,仅一行代码即可搞定,非常简单实用,需要的朋友可以参考下...2020-06-25
  • 使用list stream: 任意对象List拼接字符串

    这篇文章主要介绍了使用list stream:任意对象List拼接字符串操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-09
  • C# 16 进制字符串转 int的方法

    这篇文章主要介绍了C# 16 进制字符串转 int的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • 获取中文字符串的实际长度代码

    JS中默认中文字符长度和其它字符长度计算方法是一样的,但某些情况下我们需要获取中文字符串的实际长度,代码如下: 复制代码 代码如下: function strLength(str) { var realLength = 0, len = str.length, charCode = -1;...2014-06-07
  • C# 拷贝数组的几种方法(总结)

    下面小编就为大家带来一篇C# 拷贝数组的几种方法(总结)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • PostgreSQL 字符串处理与日期处理操作

    这篇文章主要介绍了PostgreSQL 字符串处理与日期处理操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-01
  • PHP 二维数组根据某个字段排序的具体实现

    本文记录的要实现的功能类似于 MySQL 中的 ORDER BY,上个项目中有遇到这样的一个需求。 要求:从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据的创建时间降序排序取前4条。 遇到这个...2014-06-07
  • php 中英文混合字符串截取

    文章介绍一个实用的函数,我们如果用php substr来截取字符在中文上处理的很有问题,今天自己写了一个比较好的中文与英文字符截取的函数,有需要的朋友可以参考下。 ...2016-11-25