test. 2018-1-30

<?php

/*
$reg = '/(?:\<p\>)?\[(press\-feed\-all)/';
$str = '[press-feed-all';
preg_match_all($reg,$str,$matches);
var_dump($matches);
array (size=2)
  0 =>
    array (size=1)
      0 => string '[press-feed-all' (length=15)
  1 =>
    array (size=1)
      0 => string 'press-feed-all' (length=14) */

/* $reg = '/(?:\<p\>)?\[(press\-feed\-all)/';
$str = 'press-feed-all';
preg_match_all($reg,$str,$matches);
var_dump($matches);
array (size=2)
  0 =>
    array (size=0)
      empty
  1 =>
    array (size=0)
      empty */
      
/* $reg = '/(?:\<p\>)?\[(press\-feed\-all)/';
$str = '<p>[press-feed-all';
preg_match_all($reg,$str,$matches);
var_dump($matches);
array (size=2)
  0 =>
    array (size=1)
      0 => string '<p>[press-feed-all' (length=18)
  1 =>
    array (size=1)
      0 => string 'press-feed-all' (length=14) */

//终于搞清楚:
// 1 preg_match_all, preg在前 参数问题
// 2 ?:的意思就是说 匹不匹配都行 但肯定不纳入子()元素    
/* $reg = '/(\<p\>)?\[(press\-feed\-all)/';
$str = '<p>[press-feed-all';
preg_match_all($reg,$str,$matches);
var_dump($matches);
array (size=3)
  0 =>
    array (size=1)
      0 => string '<p>[press-feed-all' (length=18)
  1 =>
    array (size=1)
      0 => string '<p>' (length=3)
  2 =>
    array (size=1)
      0 => string 'press-feed-all' (length=14) */

// 参数0下所有匹配到的
// 参数1下是非()里面匹配到的
// 参数2是所有()并且要被匹配到的元素集合
/* $reg = '/(\<p\>)?\[(press\-feed\-all)/';
$str = '<p>[press-feed-all[press-feed-all';
preg_match_all($reg,$str,$matches);
var_dump($matches);    
array (size=3)
  0 =>
    array (size=2)
      0 => string '<p>[press-feed-all' (length=18)
      1 => string '[press-feed-all' (length=15)
  1 =>
    array (size=2)
      0 => string '<p>' (length=3)
      1 => string '' (length=0)
  2 =>
    array (size=2)
      0 => string 'press-feed-all' (length=14)
      1 => string 'press-feed-all' (length=14) */
      
/* $reg = '/(?:\<p\>)?\[(press\-feed\-?(all)?):([^:\]]*):?([^:\]]*):?([^\]]*)\](?:\<\/p\>)?/i';
$str = '[press-feed-all:abc:abc:abc]<p>';
preg_match_all($reg,$str,$matches);
var_dump($matches);
array (size=6)
  0 =>
    array (size=1)
      0 => string '[press-feed-all:abc:abc:abc]' (length=28)
  1 =>
    array (size=1)
      0 => string 'press-feed-all' (length=14)
  2 =>
    array (size=1)
      0 => string 'all' (length=3)
  3 =>
    array (size=1)
      0 => string 'abc' (length=3)
  4 =>
    array (size=1)
      0 => string 'abc' (length=3)
  5 =>
    array (size=1)
      0 => string 'abc' (length=3) */

/*  $reg = '/(?:\<p\>)?\[(press\-feed\-?(all)?):([^:\]]*):?([^:\]]*):?([^\]]*)\](?:\<\/p\>)?/i';
$str = '[press-feed-all:abc]<p>';
preg_match_all($reg,$str,$matches);
var_dump($matches);
array (size=6)
  0 =>
    array (size=1)
      0 => string '[press-feed-all:abc]' (length=20)
  1 =>
    array (size=1)
      0 => string 'press-feed-all' (length=14)
  2 =>
    array (size=1)
      0 => string 'all' (length=3)
  3 =>
    array (size=1)
      0 => string 'abc' (length=3)
  4 =>
    array (size=1)
      0 => string '' (length=0)
  5 =>
    array (size=1)
      0 => string '' (length=0) */
      
/* $arr = [];
if(is_array($arr)){
  var_dump('[] is an array');
}
'[] is an array' (length=14) */

//example-end的中横线有没有\都是可以的
/* $reg = '/\[example\-end\]/';
$str = '[example-end]';
preg_match_all($reg,$str,$matches);
var_dump($matches); */

//如果不匹配就打印出0
//也许匹配就打印出1?
/* $reg = '/\[example\-end\]/';
$str = 'abc';
$result = preg_match_all($reg,$str,$matches);
var_dump($matches);
var_dump($result);
array (size=1)
  0 =>
    array (size=0)
      empty

C:\wamp64\www\t\test.php:143:int 0 */


/* $reg = '/(?:\<p\>)?\[example\]([\s\S\t\n\r]+?)\[example-end\](?:\<\/p\>)?/i';
$str = '[example]
  Some markup
[example-end]';
$res = preg_match_all($reg,$str,$matches);
var_dump($matches);
var_dump($res);
array (size=2)
  0 =>
    array (size=1)
      0 => string '[example]

  Some markup

[example-end]' (length=39)
  1 =>
    array (size=1)
      0 => string '

  Some markup

' (length=17)

C:\wamp64\www\t\test.php:160:int 1 */


//\N\N会在屏幕出现一个大的段落格式
/* $node_body = '<p>[example]
  Some markup
  [example-end]</p>';
if (strpos($node_body, '[example]') !== FALSE && preg_match_all('/(?:\<p\>)?\[example\]([\s\S\t\n\r]+?)\[example-end\](?:\<\/p\>)?/i', $node_body, $ex_matches)) {
  $ex_embed = array();
  $ex_count = count($ex_matches[0]);
  var_dump($ex_matches);
for ($i = 0; $i < $ex_count; $i++) {
  $ex_embed[$i] = $ex_matches[1][$i] . "\n\n[encode]" . $ex_matches[1][$i] . '[encode-end]';
}
//因为只有一个()所以只有最大就是$matches[1]没有更大的了
  $node_body = str_replace($ex_matches[0], $ex_embed, $node_body);
}
var_dump($node_body); */


//在windows下是这样的输出
//如果是单引号是没有效果的
//双引号是有效果的

//双引号就认为字符不仅是字符
//在能力范围内还要去解析
//单引号
/* $ab = str_replace("\n","--","a
b");
var_dump($ab);
string 'a
--b' (length=5) */

/* \n is used for Unix systems (including Linux, and OSX).
\r\n is mainly used on Windows.
\r is used on really old Macs. */

//echo 'Hello, world!' . "\xA" . 'Hello, world!';
//没有反应

/* $str = '"<abc> ';
$chars = htmlspecialchars($str);
$ent = htmlentities($str);
var_dump($chars);
var_dump($ent);
string '&quot;&lt;abc&gt; ' (length=18)
string '&quot;&lt;abc&gt; ' (length=18)
出来的结果是一样的 */

/* htmlspecialchars
就是转换5个字符: 大小于, 单双号, &
将特殊字符转换为 HTML 实体
也就是说: &amp;,&quot;, &#039;,&lt;,&gt; 就是实体 */

/* $ch = htmlspecialchars('a"b c',ENT_QUOTES,'utf-8');
var_dump($ch);
string 'a&quot;b c' (length=10) */

/* $str='<a href="test.html">测试页面</a>';
echo htmlentities($str);  */

/* echo htmlentities('[]');
echo htmlspecialchars('[]');
//出来的结果是一样的 感觉到了高版本就没有区别了*/

//tbd
//to be determined 待决定

//网关
//用于连接局域网和Internet

/* if(empty($abc['abc'])){
    var_dump('$abc[abc] is empty');
}
//'$abc[abc] is empty' (length=18)
//就是说用empty判断的时候不会因为没有这个值而报错 */

/* $a = 'aa';
$b = 'bb';
$ab = compact('a','b');
var_dump($ab);
array (size=2)
  'a' => string 'aa' (length=2)
  'b' => string 'bb' (length=2) */
 
/* $ab = compact('a','b');
var_dump($ab);
array (size=0)
  empty */

/* $a = 'a';
$ab = compact('a','b');
var_dump($ab);
array (size=1)
  'a' => string 'a' (length=1) */
 
/* if($abc['abc'] != 'abc'){
  var_dump('abc is not abc');
}
//Notice: Undefined variable: abc
//这个地方还是要报错的 因为下标abc不存在
*/

//echo 'abc';

/* $obj =  new stdClass();
$obj->abc = null;
if(property_exists($obj, 'abc')){
    var_dump('property exists......');
}
C:\wamp64\www\t\test.php:285:string 'property exists......' (length=21) */

/* $obj =  new stdClass();
if(empty($obj->abc)){
    var_dump('aaaaa');
}
//C:\wamp64\www\t\test.php:291:string 'aaaaa' (length=5)
运行是没有问题的
*/

/* $arr = ['a','b','c'];
$abc = reset($arr);
var_dump($abc);
string 'a' (length=1) */

/* $arr = [];
if(is_array($arr)){
    var_dump('is array');
}
string 'is array' (length=8) */

/* $namespaces = ['a'=>'a','b'=>'b'];
$ns = new \ArrayObject($namespaces);
var_dump($ns);
object(ArrayObject)[1]
  private 'storage' =>
    array (size=2)
      'a' => string 'a' (length=1)
      'b' => string 'b' (length=1) */
      
//C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\RSA SecurID Token Common;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\WebEx\Productivity Tools;C:\Program Files (x86)\SafeCom\SafeComPrintClient;C:\Program Files (x86)\CheckPoint\Endpoint Security\Endpoint Common\bin;C:\Program Files (x86)\Sennheiser\SoftphoneSDK\;C:\Program Files\Git\cmd;C:\wamp64\bin\php\php5.6.31;C:\ProgramData\ComposerSetup\bin;C:\Users\qqin\AppData\Roaming\Composer\vendor\drush\drush;C:\wamp64\bin\mysql\mysql5.7.19\bin\mysql.exe;C:\wamp64\bin\apache\apache2.4.27\bin\httpd.exe;C:\wamp64\bin\mysql\mysql5.7.19\bin;      


posted @ 2018-01-30 16:24  qqisnow2021  阅读(130)  评论(0)    收藏  举报