mysql整數數據類型深刻解析。本站提示廣大學習愛好者:(mysql整數數據類型深刻解析)文章只能為提供參考,不一定能成為您想要的結果。以下是mysql整數數據類型深刻解析正文
PHP正則表達式調換完成是若何的呢?起首向你引見下PHP preg_replace,PHP preg_replace的應用是我們完成的辦法,那末關於PHP正則表達式調換完成進程我們從實例動手。
PHP正則表達式調換的相干概念:
preg_replace:履行正則表達式的搜刮和調換
mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit])
preg_replace:許可你調換字符串中婚配到你界說的正則表達式。
一個簡略的正文移除功效:
preg_replace('[(/*)+.+(*/)]', '', $val);
這段代碼可以移除在 PHP 和 CSS 中應用 /* 正文 */ 格局的多多行正文。個中的三個參數分離為正則表達式,要調換成的字符串和要調換的目的字符串(這裡要做移除功效,所所以個空白字符串 -> '')。假如你想婚配次級規矩,可使用 $0 代表全體婚配,$1、$2 等,以此類推代表分離的次級規矩。
在 subject 中搜刮 pattern 形式的婚配項並調換為 replacement。假如指定了 limit,則僅調換 limit 個婚配,假如省略 limit 或許其值為 -1,則一切的婚配項都邑被調換。
replacement 可以包括 //n 情勢或(自 PHP 4.0.4 起)$n 情勢的逆向援用,首選應用後者。每一個此種援用將被調換為與第 n 個被捕捉的括號內的子形式所婚配的文本。n 可以從 0 到 99,個中 //0 或 $0 指的是被全部形式所婚配的文本。對左圓括號從左到右計數(從 1 開端)以獲得子形式的數量。
對調換形式在一個逆向援用前面緊接著一個數字時(即:緊接在一個婚配的形式前面的數字),不克不及應用熟習的 //1 符號來表現逆向援用。舉例說 //11,將會使 preg_replace() 弄不清晰是想要一個 //1 的逆向援用前面隨著一個數字 1 照樣一個 //11 的逆向援用。本例中的處理辦法是應用 /${1}1。這會構成一個隔離的 $1 逆向援用,而使另外一個 1 只是純真的文字。
PHP正則表達式調換的相干實例:
例子 1. 逆向援用前面緊接著數字的用法
<?php $string = "April 15, 2003"; $pattern = "/(/w+) (/d+), (/d+)/i"; $replacement = "/${1}1,/$3"; print preg_replace($pattern, $replacement, $string); /* Output ====== April1,2003 */ ?>
假如搜刮到婚配項,則會前往被調換後的 subject,不然前往本來不變的 subject。
preg_replace() 的每一個參數(除 limit)都可所以一個數組。假如 pattern 和 replacement 都是數組,將以其鍵名在數組中湧現的次序來停止處置。這紛歧定和索引的數字次序雷同。假如應用索引來標識哪一個 pattern 將被哪一個 replacement 來調換,應當在挪用 preg_replace() 之前用 ksort() 對數組停止排序。
例子 2. 在 preg_replace() 中應用索引數組
<?php $string = "The quick brown fox jumped over the lazy dog."; $patterns[0] = "/quick/"; $patterns[1] = "/brown/"; $patterns[2] = "/fox/"; $replacements[2] = "bear"; $replacements[1] = "black"; $replacements[0] = "slow"; print preg_replace($patterns, $replacements, $string); /* Output ====== The bear black slow jumped over the lazy dog. */ /* By ksorting patterns and replacements, we should get what we wanted. */ ksort($patterns); ksort($replacements); print preg_replace($patterns, $replacements, $string); /* Output ====== The slow black bear jumped over the lazy dog. */ ?>
假如 subject 是個數組,則會對 subject 中的每一個項目履行搜刮和調換,並前往一個數組。
假如 pattern 和 replacement 都是數組,則 preg_replace() 會順次從平分別掏出值來對 subject 停止搜刮和調換。假如 replacement 中的值比 pattern 中的少,則用空字符串作為余下的調換值。假如 pattern 是數組而 replacement 是字符串,則對 pattern 中的每一個值都用此字符串作為調換值。反過去則沒成心義了。
/e 修改符使 preg_replace() 將 replacement 參數看成 PHP 代碼(在恰當的逆向援用調換完以後)。提醒:要確保 replacement 組成一個正當的 PHP 代碼字符串,不然 PHP 會在申報在包括 preg_replace() 的行中湧現語法解析毛病。
例子 3. 調換數個值
<?php $patterns = array ("/(19|20)(/d{2})-(/d{1,2})-(/d{1,2})/", "/^/s*{(/w+)}/s*=/"); $replace = array ("//3///4///1//2", "$//1 ="); print preg_replace ($patterns, $replace, "{startDate} = 1999-5-27"); ?>
本例將輸入:
$startDate = 5/27/1999
例子 4. 應用 /e 修改符
<?php preg_replace ("/(<//?)(/w+)([^>]*>)/e", "'//1'.strtoupper('//2').'//3'", $html_body); ?>
這將使輸出字符串中的一切 HTML 標志釀成年夜寫,以上的實例運轉支撐版本為PHP 3>= 3.0.9, PHP 4。
PHP正則表達式調換的相干內容就向你引見到這裡,願望誰人對你懂得和控制PHP正則表達式調換有所贊助。
用正則表達式調換內容 php
之前做一個項目,就是有一個問答的頁面,好比說在答復或許發問的內容中拔出臉色。寫到內容裡的是臉色圖片的名字(並且是不帶後綴的,好比:f_002.png)臉色包放在項目裡,我須要在取除內容的時刻將外面的臉色名字調換成圖片。
存到數據庫中的內容是如許的: 不曉得[f_013] (最初面的這個[f_013]就是臉色圖在數據庫中寄存的情勢)
我須要做的就是從數據庫中掏出內容,而且把內容中的像如許的字符 [f_013] 處置成圖片地址,很明顯這裡須要用到正則表達式。
1.起首我得先找到這個字符串
$rule = "/(?:\[)(f_.[0-9]{1,3})(?:\])/i";
這個正則婚配可以幫我找到臉色的字符串
2.找到後就是把這個字符串換成臉色圖片寄存的地址,這裡用到了一個函數就是正則表達式的調換。
就是這個函數:preg_match_all
echo preg_replace("/(?:\[)(f_.[0-9]{1,3})(?:\])/i","<img src='__PUBLIC__/face/\${1}.png'>",$line['content']);
$line['content'] 這個是我從數據庫中掏出的內容,
"<img src='__PUBLIC__/face/\${1}.png'>" 這個是我將要調換的圖片地址,好比我的圖片地址是如許的<img src="__PUBLIC__/face/f_013.png">
這外面有一個異常主要的常識點: "\${1}" 它就是誰人寄存在數據庫外面臉色的字符串。
\${1} = f_013
我這裡有我調換的一個完全代碼:
<?php $result = array(); $n = preg_match_all("/(?:\[)(f_.[0-9]{1,3})(?:\])/i",$line['content'], $result); /*前往查找到相符前提的字符串的個數*/ if($n == 0 || $n == false) /*假如是0或許false就解釋沒有臉色*/ { echo $line['content']; }else { echo preg_replace("/(?:\[)(f_.[0-9]{1,3})(?:\])/i","<img src='__PUBLIC__/face/\${1}.png'>",$line['content']); } ?>