匹配php
1. 以下哪個正則表達式能匹配php
正則表達式用於字元串處理、表單驗證等場合,實用高效。本文收集了一些常用的表達式:
PHP代碼
$str = preg_replace("/(<a.*?>)(.*?)(<\/a>)/", '\1<span class="link">\2</span>\3', $str);
其中用了三個子模式(每個圓括弧中內容為一個子模式),第一個是鏈接開始標簽,第二個是鏈接文本,第三個是</a>
然後第二個參數中\1、\2、\3就表示這三個部分,要替換成什麼樣子還不簡單?
獲取頁面中的所有鏈接地址的PHP函數
下面這個用PHP寫的函數,可以獲取任意的字元串$string中的所有鏈接地址($string可以是從一個html頁面文件直接讀取出來的字元串),結果保存在一個數組中返回.該函數自動把電子郵件地址排除在外,而且返回的數組中不會有重復元素.
function GetAllLink($string) { $string = str_replace("\r","",$string); $string = str_replace("\n","",$string); $regex[url] = "((http|https|ftp|telnet|news):\/\/)?([a-z0-9_\-\/\.]+\.[][a-z0-9:;@=_~%\?\/\.\,\+\-]+)"; $regex[email] = "([a-z0-9_\-]+)@([a-z0-9_\-]+\.[a-z0-9\-\._\-]+)"; //去掉標簽之間的文字 $string = eregi_replace(">[^<>]+<","><", $string); //去掉JAVASCRIPT代碼 $string = eregi_replace("<!--.*//-->","", $string); //去掉非<a>的HTML標簽 $string = eregi_replace("<[^a][^<>]*>","", $string); 還有很多如果想知道就去後盾網自己看視頻學習一下就好了。
2. php中怎麼匹配&
preg_match_all("\&",$content,$img_array)
3. 哪一個正則表達式能匹配php
這個我也不太明白,你可以去後盾網看看 裡面視屏多,教師經驗豐富,望點贊
4. php正則匹配怎麼寫
首先,這段代碼是沒有問題的。
你那裡匹配不到可能是因為你的$a並不是你提版供的這一段,而是其他的帶權有換行的字元串。
解決換行的方法是使用模式修正符s,得到:
preg_match("/<asrc.*?>/s",$a,$arr);
另外,看情況,可以追加一個模式修正符i,不區分大小寫。
5. php 怎麼匹配兩個字元串的相似度
php自帶一個函數similar_text,可以計算兩個字元串的相似度,但是這個的准確性、速度不是很好。網上有很多其他的方法和現成的包,你可以搜索看看。下面簡單列舉一個類
class LCS {
var $str1;
var $str2;
var $c = array();
/*返回串一和串二的最長公共子序列*/
function getLCS($str1, $str2, $len1 = 0, $len2 = 0) {
$this->str1 = $str1;
$this->str2 = $str2;
if ($len1 == 0) $len1 = strlen($str1);
if ($len2 == 0) $len2 = strlen($str2);
$this->initC($len1, $len2);
return $this->printLCS($this->c, $len1 - 1, $len2 - 1);
}
/*返回兩個串的相似度*/
function getSimilar($str1, $str2) {
$len1 = strlen($str1);
$len2 = strlen($str2);
$len = strlen($this->getLCS($str1, $str2, $len1, $len2));
return $len * 2 / ($len1 + $len2);
}
function initC($len1, $len2) {
for ($i = 0; $i < $len1; $i++) $this->c[$i][0] = 0;
for ($j = 0; $j < $len2; $j++) $this->c[0][$j] = 0;
for ($i = 1; $i < $len1; $i++) {
for ($j = 1; $j < $len2; $j++) {
if ($this->str1[$i] == $this->str2[$j]) {
$this->c[$i][$j] = $this->c[$i - 1][$j - 1] + 1;
} else if ($this->c[$i - 1][$j] >= $this->c[$i][$j - 1]) {
$this->c[$i][$j] = $this->c[$i - 1][$j];
} else {
$this->c[$i][$j] = $this->c[$i][$j - 1];
}
}
}
}
function printLCS($c, $i, $j) {
if ($i == 0 || $j == 0) {
if ($this->str1[$i] == $this->str2[$j]) return $this->str2[$j];
else return "";
}
if ($this->str1[$i] == $this->str2[$j]) {
return $this->printLCS($this->c, $i - 1, $j - 1).$this->str2[$j];
} else if ($this->c[$i - 1][$j] >= $this->c[$i][$j - 1]) {
return $this->printLCS($this->c, $i - 1, $j);
} else {
return $this->printLCS($this->c, $i, $j - 1);
}
}
}
6. php正則匹配
『這兩個都是變化的』假設其他部分不變化。就可以
<?php
$t='<a target="_blank" href="http://www.77l.com/game/3087.html">
<a target="_blank" href="http://www.77l.com/news/1.html">
<a target="_blank" href="http://www.77l.com/catelog/13087.html">';
preg_match_all('/<a\s+.*?\s+href=(["\'])http:\/\/www\.77l\.com\/(\w+)\/(\d+).html\1>/',$t, $m);
for($i=0,$len=count($m[2]); $i<$len; $i++)
echo $m[2][$i].' => '.$m[3][$i].'<br />';
=============
game => 3087
news => 1
catelog => 13087
7. php 正則表達式 url匹配
1,preg_grep(pattern,array);它的返回值是一個新數組,新數組的元素是成功匹配的元素。回
8. 哪一個正則表達式匹配php
正則表達式用於字元串處理、表單驗證等場合,實用高效。本文收集了一些常用的表達式:
PHP代碼
$str = preg_replace("/(<a.*?>)(.*?)(<\/a>)/", '\1<span class="link">\2</span>\3', $str);
其中用了三個子模式(每個圓括弧中內容為一個子模式),第一個是鏈接開始標簽,第二個是鏈接文本,第三個是</a>
然後第二個參數中\1、\2、\3就表示這三個部分,要替換成什麼樣子還不簡單?
獲取頁面中的所有鏈接地址的PHP函數
下面這個用PHP寫的函數,可以獲取任意的字元串$string中的所有鏈接地址($string可以是從一個HTML頁面文件直接讀取出來的字元串),結果保存在一個數組中返回.該函數自動把電子郵件地址排除在外,而且返回的數組中不會有重復元素.
function GetAllLink($string) { $string = str_replace("\r","",$string); $string = str_replace("\n","",$string); $regex[url] = "((http|https|ftp|telnet|news):\/\/)?([a-z0-9_\-\/\.]+\.[][a-z0-9:;@=_~%\?\/\.\,\+\-]+)"; $regex[email] = "([a-z0-9_\-]+)@([a-z0-9_\-]+\.[a-z0-9\-\._\-]+)"; //去掉標簽之間的文字 $string = eregi_replace(">[^<>]+<","><", $string); //去掉JAVASCRIPT代碼 $string = eregi_replace("<!--.*//-->","", $string); //去掉非<a>的HTML標簽 $string = eregi_replace("<[^a][^<>]*>","", $string); 還有很多如果想知道就去後盾網自己看視頻學習一下就好了。
9. php 正則匹配
|
<?php
$str='你的來字源符串';
preg_match_all("|<hotspot(.*)/>|isU",$str,$arr);
foreach($arr[1]as$value)
{
if(strpos($value,"manyou")andstrpos($value,"linkedscene"))
$mydata.="<hotspot$value/>";
}
echo$mydata;
?>
10. php正則匹配數字
式子:/^[a-zA-Z0-9]+$/u
釋義:
"/":表示正則表達式的定義,固定寫法。
"^":表示開頭。
"[]":表示字元組。專匹配所包含的任意屬一個字元。如,「[ab]」匹配「plain」中的「a」。
"a-z":表示匹配小寫字母a-z的字母範圍。
"A-Z":表示匹配大寫字母A-Z的字母範圍。
"0-9":表示匹配0-9的數字范圍。
"+":表示匹配次數大於等於1。
"$":匹配輸入行尾。如果設置了RegExp對象Multiline屬性,$也匹配「 」或「 」之前的位置。
"u":最後的u是模式修飾符,嚴格的說可能叫預定義常量。表示使用unicode進行匹配。
(10)匹配php擴展閱讀:
正則表達式的特點是:
1. 靈活性、邏輯性和功能性非常強;
2. 可以迅速地用極簡單的方式達到字元串的復雜控制。
3. 對於剛接觸的人來說,比較晦澀難懂。
由於正則表達式主要應用對象是文本,因此它在各種文本編輯器場合都有應用,小到著名編輯器EditPlus,大到Microsoft Word、Visual Studio等大型編輯器,都可以使用正則表達式來處理文本內容。