匹配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等大型编辑器,都可以使用正则表达式来处理文本内容。