zoukankan      html  css  js  c++  java
  • php中的正则函数主要有三个-正则匹配,正则替换

    php中变量的声明?

    由于php声明变量的时候, 不支持使用 var关键字, 又不能直接写一个变量名字, 孤零零的放在那里,

    所以, 在php中声明变量的方式, 同时也是给变量初始化的形式, 即: "$var = 0; $var2 = array(); "

    markdown中, 如何写 "$": 直接使用$, 会被表示成 "( )", 又不支持转义, 那么就是用 引号来表示$ : "$"

    subject: 的读音 我们就读成这个: ['s^bd3ekt], 音标注释里其实有三种:
    美[ˈsʌbdʒɪkt; ˈsʌbˌdʒɛkt; səbˈdʒɛkt]

    ==============================
    markdown的表格注意事项:

    • 是通过" 管线图" 来实现的, 所以必须是 管线 才能 生成表格:

    • 管: 是"竖线", 用来分隔字段. 线是"横线" 用来分隔表头和内容, 横线上方的内容被解析为表头: th, 横线下方的内容被解析为内容.

    • 必须要有 '横线", 才会被认为是 表格, 如果没有 "横线", 则不会生成表格

    • 必须是 "横线"做分隔线, 不能是*, 或者下划线____,

    • 横线的个数没有规定, 只要在一个(包括一个)以上就可以!

    • 分隔水平线的 数目, 应该跟字段域的 个数相同, 如果更少, 则只会显示 "更少的" 字段表格, 如果少到 只有一个,则不会解析为表格

    • 管线的个数,一个字段域 只能 有1根 竖线. 同时, 在两端的管线, 不需要写!

    • 横线上方的||||, 内容, 只能有一行, 不能有多行, 否则不会被认为是表格

    • 由于表格是 块 元素, 所以, 整个表格的上方必须有一个空行, 否则也不会被解析为表格, (按原样文字显示), 下方似乎不要求有一个空行???

    • 单元格的对齐, 是用冒号来表示的 , 冒号在横线的左边, 则是左对齐, 两端都有冒号, 则是居中对齐.

    ======================================================
    php中的正则函数主要有三个- 正则匹配,正则替换 < 连同一个是str_replace函数比较记忆>
    有三个正则函数 , 要比较起来才好记忆:

    函数 函数名称 参数 返回值 匹配次数控制
    preg_match() 正则匹配(只匹配最开始遇到的那一次) ($patter, $subject, [$matches]) 返回匹配的次数:0或1,要么为0,要么为1 只匹配1次
    preg_match_all 正则匹配(匹配完整个字符串) ($pattern, $subjec, [$matches] 返回匹配的次数:0或1,要么为0,要么为1 匹配完整个字符串
    preg_replace 正则替换 ($patter, $replacement, $subject) 返回替换后的$subject. 正则替换不像正则匹配有两个函数, 替换只有1个函数, 替换次数有第4个参数$limit来控制.$limit=1表示只替换1次, =2表示替换2次, =-1表示无限次
    总结 因为preg匹配返回匹配的次数0或1, 所以可以用if(preg_match/_all)来判断是否匹配成功, 也可以用echo preg_replace()来输出匹配替换后的字符串,而$matches则存储了匹配的结果: $matches[0]: 所有的匹配结果, $matches[i]: 第i个分组匹配结果, $1,$2,...,是分组替换符, 后面如果跟其他字面字符时用${1}abcxxx??? 来区别.
    str_replace 字符串替换 还是通常的参数顺序:$search, $replacement, $subject 返回被替换后的字符串,即使用时用原来的变量去接收函数的返回值: $content = str_replace($v, "替换内容", $content) 全部替换

    ======================================
    preg_match()只匹配1次, preg_match_all会用这个模式去 匹配整个字符串.
    "$matches" 的[0]元素, 是所有的匹配结果, 只有具有分组的时候, 才会有其他 [1], [2]... 元素...否则就没有[1]...其他元素, 只有[0]这个元素!!

    我们在遍历的时候, 只要遍历 $matches[0]就好了.$matches[0]就好像 "一维数组" 一样.

    php 的很多函数, 都是既可以处理 :数组, 又可以处理 字符串的!

    =============================

    json是 string 字符串 "对象"!! 而json中的key:value的value可以通过 点号 . 的方式来引用! 因此, 从ajaxReturn返回的 json数据, 在js客户端js脚本中, 就可以像对象/ 对象的成员 一样, 使用json对象的成员数据:

    ========================================

    data.status, data.username, data.id...., 那么在客户端js脚本中需要什么, 服务器端的data数组中就去提供什么!'

    ===========================================

    php对json的处理?

    有两个 原生的:
    1个是 将 $value (字符串或数组) 转换为 json 的: json_encode($value);
    另一个是 json string decode: 默认的是返回object, 如果设置$assoc为true, 则返回 数组!
    json_decode($json_string, [$assoc=false]);

    而think对json的处理是: 在class Action 中的方法是:
    jsonReturn(array('status'=>0), 'json');

    在返回后的 ajax /post/get的javascript脚本函数中, 就通过 判断 "data.status"的值来决定处理的 流程方向.

    jquery的append添加函数?

    一般, jquery中的添加, 有append, appendTo. 一般用得最多的是: append. 而且也符合常规的思维: 向前面的 dom对象添加 内容:
    $('#main'). append(str);

    在函数中, 可以直接调用另一个对象的click() 事件: 如要 在 
        ajax/post, get的方法中, 就可以直接调用 关闭按钮xx的 click事件: .... $('#close').click();....
    

    =======================================================

  • 相关阅读:
    环形进度条
    Angular.js入门(2)
    Angular.js入门(1)
    判断页面是手机访问还是电脑访问
    常见问题lufylegend.js
    JavaScript如何诞生
    管理思维修炼
    CROS+node-basis+ajax
    JavaScript操作cookie
    node-basis(提供nodejs开发的基础包)
  • 原文地址:https://www.cnblogs.com/bkylee/p/5314058.html
Copyright © 2011-2022 走看看