小编Chr*_*wer的帖子

PHP/CodeIgniter关系数据库阵列构建

解决了!最终答案位于此问题的底部

我正在尝试使用CodeIgniter创建一个菜单构建器,出于某种原因,我似乎无法理解这个概念,即使它看起来很简单(我是PHP和CI的新手).这应该与CodeIgniter本身关系不大,因为我实际上只将它用于查询和MVC模式.

我有两张桌子:

  • 菜单:

    • ID
    • 名称
  • menu_pages:

    • ID
    • page_id(与pages.id的关系)
    • menu_id(与menus.id的关系)
    • item_name(它在菜单中的显示方式)
    • item_order(用于排序)
    • item_parent(用于在子菜单中嵌套项)

编辑:这是我想要实现的结构:

array(  
    [0] => array(
        [menu_id]    => 1,
        [menu_name]  => 'Menu 1',
        [menu_pages] => array(
            [0] => array(
                [id]         => 1,
                [page_id]    => 1,
                [menu_id]    => 1,
                [item_name]  => 'Home',
                [item_order] => 0,
                [item_level] => 0,
                [parent_id]  => ''
            ),
            [1] => array(
                [id]         => 2,
                [page_id]    => 2,
                [menu_id]    => 1,
                [item_name]  => 'About',
                [item_order] => 0,
                [item_level] => 0,
                [parent_id]  => ''
            )
        )
    ), …
Run Code Online (Sandbox Code Playgroud)

php mysql codeigniter codeigniter-2

7
推荐指数
1
解决办法
2155
查看次数

将Javascript正则表达式转换为PHP

我知道这个问题已经被问过十几遍了,但是从技术上讲,这不是一个骗子(如果需要,请检查其他问题);)

基本上,我有一个Javascript正则表达式来检查用于前端验证的电子邮件地址,并且我使用CodeIgniter在后端进行双重检查,以防前端验证无法正常运行(例如浏览器问题) 。)这是一个很长的正则表达式,我不知道从哪里开始手动转换它。

我正在寻找一种将JS regexes转换为PHP regexes的工具 -在类似问题的答案中都没有找到一个(当然,这样的工具可能不存在。)好的,我谎言- 其中一个建议使用的工具的价格为39.95美元,但我真的不想花那么多钱来转换单个表达式(并且不,没有上述问题的答案所建议的免费试用。)

这里的JavaScript表达式由aSeptik慷慨地提供

/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i
Run Code Online (Sandbox Code Playgroud)

还有一个我不想使用的CodeIgniter,因为它不遵循相同的规则(不允许使用某些有效地址):

/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix
Run Code Online (Sandbox Code Playgroud)

我想使用PHP中Javascript regex设置的相同规则

我的前端代码说这种电子邮件地址是可以的,然后Codeigniter说不是这样的情况,这当然是我要在应用程序中解决的问题。

感谢您的所有提示!:D

javascript php regex

5
推荐指数
1
解决办法
7894
查看次数

标签 统计

php ×2

codeigniter ×1

codeigniter-2 ×1

javascript ×1

mysql ×1

regex ×1