吃过晚饭,再练壹题

PHP正则表明式轮换的连带概念:

要协作的字符串:
<img src=image/ad1.gif width=”128″ height=”36″/><img
src=’image/ad2.gif’ width=”128″ height=”36″ />
正则表明式:
<img[s]+src[s]*=[s]*(([‘”](?<src>[^'”]*)[‘”])|(?<src>[^s]*))
正则相称输出结果:
x
image/ad1.gif
image/ad2.gif
PHP正则提取或 img 元素的 src 属性值:

  第五题

preg_replace:执行正则表明式的检索和替换

 代码如下

  

mixed preg_replace (   mixed pattern,   mixed replacement,   mixed
subject [, int limit])
preg_replace:允许你替换字符串中非凡到您定义的正则表明式。

<?php
/*PHP正则提取图片img标志中的放四属性*/
$str = ‘<center><img src=”/uploads/images/2010051伍仟.jpg”
height=”120″ width=”120″><br
/>PHP正则提取或退换图片img标志中的放4属性</center>’;
//一、取全方位图片代码
正则替换部分事例小结,php和js提取img标签的src属性值的正则表明式。preg_match(‘/<s*imgs+[^>]*?srcs*=s*(‘|”)(.*?)1[^>]*?/?s*>/i’,$str,$match);
echo $match[0];
//2、取width
preg_match(‘/<img.+(width=”?d*”?).+>/i’,$str,$match); echo
$match[1];
//3、取height
preg_match(‘/<img.+(height=”?d*”?).+>/i’,$str,$match); echo
$match[1];
//4、取src
preg_match(‘/<img.+src=”?(.+.(jpg|gif|bmp|bnp|png))”?.+>/i’,$str,$match);
echo $match[1];
/*PHP正则替换图片img标识中的任意属性*/
//1、将src=”/uploads/images/20100516000.jpg”替换为src=”/uploads/uc/images/20100516000.jpg”)
print
preg_replace(‘/(<img.+src=”?.+)(images/)(.+.(jpg|gif|bmp|bnp|png)”?.+>)/i’,”${1}uc/images/${3}”,$str);
echo “<hr/>”;
//2、将src=”/uploads/images/二〇〇八051五千.jpg”替换为src=”/uploads/uc/images/二〇一〇051五千.jpg”,并省去宽和高
print
preg_replace(‘/(<img).+(src=”?.+)images/(.+.(jpg|gif|bmp|bnp|png)”?).+>/i’,”${1}
${2}uc/images/${3}>”,$str);
?>

1 function escape(s) {
2   var text = s.replace(/</g, '&lt;').replace(/"/g, '&quot;');
3   // URLs
4   text = text.replace(/(http:\/\/\S+)/g, '<a href="$1">$1</a>');
5   // [[img123|Description]]
6   text = text.replace(/\[\[(\w+)\|(.+?)\]\]/g, '<img alt="$2" src="$1.gif">');
7   return text;
8 }

多少个差不离的笺注移除功用:

Js正则表明式领取图片地址

 

 代码如下

 代码如下

分析:

preg_replace(‘[(/*)+.+(*/)]’, ”, $val);

//正则表明式
<script
language=”javascript”>
var a='<P><IMG
src=””
mce_src=”;’
var b=/<IMG src=”([^”]*?)”>/gi
var s=a.match(b)
for(var i= 0;i<s.length;i++)
{
alert(s[i]);
alert(RegExp.$1)
}
</script>

才具点:正则表明式,html链接,img标签使用

这段代码能够移除在 PHP 和 CSS 中使用 /* 注释 */
格式的多多行注释。其中的四个参数分别为正则表明式,要替换到的字符串和要替换的靶子字符串(这里要做移除成效,所以是个空白字符串
-> ”)。假设您想相称次级规则,可以运用 $0 代表整个匹配,$一、$二等,就那样类推代表分其他次级规则。

正则表达式:

在 subject 中搜寻 pattern 形式的相配项并替换为 replacement。倘诺内定了
limit,则仅替换 limit 个门户相当,假使省略 limit 只怕其值为
-一,则装有的相称项都会被轮换。

第二行:替换s中具备的<和”,用html编码表示,点击查看
HTML编码表

replacement 能够分包 //n 方式或(自 PHP 四.0.四 起)$n
情势的逆向引用,首推使用后者。各样此种引用将被轮换为与第 n
个被捕获的括号内的子格局所匹配的公文。n 可以从 0 到 9玖,当中 //0 或 $0
指的是被全部方式所相称的文书。对左圆括号从左到右计数(从 1初步)以赚取子格局的多寡。

         正则表明式 g 代表全局格局,javascript replace 用法如下

对替换格局在贰个逆向引用后边跟着多个数字时(即:紧接在一个一双两好的方式后边的数字),不能够应用深谙的
//一 符号来代表逆向引用。比如说 //1一,将会使 preg_replace()
搞不清楚是想要1个 //1 的逆向引用前边随着2个数字 1 如故叁个 //11的逆向引用。本例中的消除方法是利用 /${壹}1。那会形成二个隔绝的 $一逆向引用,而使另3个 一 只是独自的文字。

   str.replace(regexp|substr, newSubstr|function)

例子1:

第4行:将
href=”

 代码如下

      ()
是为着提取相称的字符串。表明式中有多少个()就有多少个照看的匹配字符串。

$jobname=”行政府办公室—酷威H0二拾0一前台秘书(职位编号:PAJEROH02十01)”;
$jobname=preg_replace(“/(.*)/”,””,$jobname);
$jobname=preg_replace(“/.*—.*01/”,””,$jobname);
//输出:前台秘书

第5行:输入类似于

例子2:

[[img123|Description]] 形式。

 代码如下

 
 正则表明式字符含义大全

$str=”<a href=”space.php?uid=10九”>fsb</a>”;s<a
href=”space.php?uid=十玖&do=thread&id=17肆”>注意调整心境防御职场心境疲劳</a>”;
 
$str=preg_replace(“/space.php?uid=(d+)&do=thread&id=(d+)/”,”/space-0-do-thread-id-${2}.html”,$str);
$str=preg_replace(“/space.php?uid=(d+)/”,”/space-${1}.html”,$str);
 
//输出:<a href=”space.php?uid=十玖”>fsb</a>”;s<a
href=”/space-0-do-thread-id-17四.html”>注意调解心理堤防职场心境疲劳</a>

 

事例三: 正则提取或调换img标识属性

TRY:

 

  一. 协会第2部的满意弹出alert(1)的s

 代码如下

    成功的弹出img语句应该是

<?php

    <img alt=”b” onerror=”alert(1)” src=”a.gif”> OK!
加载a.gif退步,运营onerror的alert(一),成功达成目标。

/*PHP正则提取图片img标志中的任性属性*/
$str = ‘<center><img src=”/uploads/images/2008051陆仟.jpg”
height=”120″ width=”120″><br
/>PHP正则提取或改造图片img标识中的大肆属性</center>’;

  2. 因为全局都将 ” 替换了,所以不可能用 ”
闭合,所以要运用第陆句构造满意的句子。

//一、取全方位图片代码
金沙注册送58 ,preg_match(‘/<s*imgs+[^>]*?srcs*=s*(‘|”)(.*?)\1[^>]*?/?s*>/i’,$str,$match);
echo $match[0];

   逆推一下,”b” onerror=”alert(1)” 应该是紧凑的,调换一下,”b”
onerror=’alert(1)’
去掉三个双引号,以往b之后的双引号也不是大家输入的,然后改成 “b
onerror=’alert(壹)'”,可是b之后的 ”
还必须有,那么早晚是第5行提供的,哪个地方提供吗?

//2、取width
preg_match(‘/<img.+(width=”?d*”?).+>/i’,$str,$match);
echo $match[1];

  <a href=”$壹”>$一</a> 替换 $一,即 $一就是b,所以又改为

//3、取height
preg_match(‘/<img.+(height=”?d*”?).+>/i’,$str,$match);
echo $match[1];

  3. 两者想合,构造 [[a|]

//4、取src
preg_match(‘/<img.+src=”?(.+.(jpg|gif|bmp|bnp|png))”?.+>/i’,$str,$match);
echo $match[1];

 

/*PHP正则替换图片img标志中的大4属性*/
//1、将src=”/uploads/images/20100516000.jpg”替换为src=”/uploads/uc/images/20100516000.jpg”)
print
preg_replace(‘/(<img.+src=”?.+)(images/)(.+.(jpg|gif|bmp|bnp|png)”?.+>)/i’,”${1}uc/images/${3}”,$str);
echo “<hr/>”;

html渲染:

//2、将src=”/uploads/images/20十051伍仟.jpg”替换为src=”/uploads/uc/images/2010051伍仟.jpg”,并省去宽和高
print
preg_replace(‘/(<img).+(src=”?.+)images/(.+.(jpg|gif|bmp|bnp|png)”?).+>/i’,”${1}
${2}uc/images/${3}>”,$str);

<!DOCTYPE html>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

</head>
<body>

<script type="text/javascript">
function escape(s) {
    var text = s.replace(/</g, '&lt;').replace(/"/g, '&quot;');
  // URLs
  text = text.replace(/(http:\/\/\S+)/g, '<a href="$1">$1</a>');
  // [[img123|Description]]
  text = text.replace(/\[\[(\w+)\|(.+?)\]\]/g, '<img alt="$2" src="$1.gif">');
  return text;
}
var inputStr = "[[a|http://onerror='alert(1)']]";
var ok = escape(inputStr);
document.write(ok);
</script>

</body>
</html>

?>

 

效果:

金沙注册送58 1

 

相关文章

网站地图xml地图