PHP正則學習記錄

2021-06-01 09:52:22 字數 1603 閱讀 5400

檔名:/([a-z0-9\-_]+)/is   (不含字尾)

以下是 phpcms v9 模版標籤解析正則

public function template_parse($str) /", "<?php include template(\\1); ?>", $str );

$str = preg_replace ( "/\/", "<?php include \\1; ?>", $str );

$str = preg_replace ( "/\/", "<?php \\1?>", $str );

$str = preg_replace ( "/\/", "<?php if(\\1) /", "<?php } else /", "<?php } elseif (\\1) /", "<?php } ?>", $str );

//for 迴圈

$str = preg_replace("/\/","<?php for(\\1) /","<?php } ?>",$str);

//++ --

$str = preg_replace("/\/","<?php ++\\1; ?>",$str);

$str = preg_replace("/\/","<?php ++\\1; ?>",$str);

$str = preg_replace("/\/","<?php \\1++; ?>",$str);

$str = preg_replace("/\/","<?php \\1--; ?>",$str);

$str = preg_replace ( "/\/", "<?php \$n=1;if(is_array(\\1)) foreach(\\1 as \\2) /", "<?php \$n=1; if(is_array(\\1)) foreach(\\1 as \\2 => \\3) /", "<?php \$n++;}unset(\$n); ?>", $str );

$str = preg_replace ( "/\]*)\))\}/", "<?php echo \\1;?>", $str );

$str = preg_replace ( "/\]*)\))\}/", "<?php echo \\1;?>", $str );

$str = preg_replace ( "/\/", "<?php echo \\1;?>", $str );

$str = preg_replace("/\/es", "\$this->addquote('<?php echo \\1;?>')",$str);

$str = preg_replace ( "/\/s", "<?php echo \\1;?>", $str );

$str = preg_replace("/\]+)\}/ie", "self::pc_tag('$1','$2', '$0')", $str);

$str = preg_replace("/\/ie", "self::end_pc_tag()", $str);

$str = "<?php defined('in_phpcms') or exit('no permission resources.'); ?>" . $str;

return $str;

}

php學習記錄(正規表示式)

如果模式中包含較多的分割字元,建議更換其他的字元作為分隔符,也可以採用preg quote進行轉義。一般用於轉義字元 斷言目標的開始位置 或在多行模式下是行首 斷言目標的結束位置 或在多行模式下是行尾 匹配除換行符外的任何字元 預設 開始字元類定義 結束字元類定義 開始乙個可選分支 子組的開始標記 ...

PHP學習記錄

1 fatal error call to undefined function curl init 解決方法 首先要確定php已經擴充套件 在php.ini中 複製 如下 extension php curl.dll 還要保證 php curl.dll 複製到php安裝目錄下的ext下,libea...

php學習記錄

php php檔案 php 能夠做什麼?基礎 php 語法 此處是 php php支援三種注釋 這是單行注釋 這也是單行注釋 這是多行注釋塊 它橫跨了 多行 php 大小寫敏感 在 php 中,所有變數都對大小寫敏感。php 變數 php 變數規則 php 沒有建立變數的命令。變數會在首次為其賦值時...