<php
/PHP正则提取img标记中的任意属性/
$str = '<center><img src="/uploads/images/20100516000jpg" height="120" width="120"><br />PHP正则提取或更改img标记中的任意属性</center>';
//1、取整个代码
preg_match('/<\simg\s+[^>]src\s=\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/20100516000jpg"替换为src="/uploads/uc/images/20100516000jpg")
print preg_replace('/(<img+src=\"+)(images\/)(+\(jpg|gif|bmp|bnp|png)\"+>)/i',"\${1}uc/images/\${3}",$str);
echo "<hr/>";
//2、将src="/uploads/images/20100516000jpg"替换为src="/uploads/uc/images/20100516000jpg",并省去宽和高
print preg_replace('/(<img)+(src=\"+)images\/(+\(jpg|gif|bmp|bnp|png)\")+>/i',"\${1} \${2}uc/images/\${3}>",$str);
>
htmlspecialchars是将html转码,防止XSS攻击的。你这样没有意义。
CURL获取内容后直接 preg_match_all('/<p>()<\/p>/');就可以了还有不懂的可以追问
如果你用LINQ-TO-XML非常方便:比如假设存在一个MyLabel的标签,里边有若干属性…… string s = "<MyLabel name='MyLabel' Text='MyText' attr1='1'/>"; var result = from e in XDocumentParse(s)Element("MyLabel"
你要过滤的字符串是不是就都是这种,就这么长的。
你的需求是不是就是把字符串里面的各种标签都去掉?
如果你的需求和上面的说的相符,不需要用正则表达式,PHP 提供了 strip_tags 函数,用来过滤字符串里面的 html 标签,接收两个参数:第一个参数是要处理的字符串,第二个参数是允许(要保留)的tag
$str = '<span id="aaa"><p>11111</p><br><p>22222</p><span>';echo strip_tags( $str ); // output : 1111122222
echo strip_tags( $str, '<span>' ); //output : <span id="aaa">1111122222<span>
我觉得这可能是你的实际需求,如果不符合你的需求,继续追问。
header('content-type:text/html; charset=utf-8');
$str = '<li><a href="/news1397/" title="1827年3月5日 意大利物理学家伏打逝世">1827年3月5日 意大利物理学家伏打逝世</a> </li>
<li><a href="/news1398/" title="1871年3月5日 波兰女革命家卢森堡诞辰">1871年3月5日 波兰女革命家卢森堡诞辰</a> </li>
<li><a href="/news1399/" title="1886年3月5日 董必武诞辰">1886年3月5日 董必武诞辰</a> (图)</li> ';
preg_match_all('/<a>()<\/a>/im', $str, $matches);
var_dump($matches[1]);
如果只是想获得
LT-B2F02257-C051-CF98-1E2189EE92E7EDE2这个值的话,用不着正则,根据你form的提交方式$_GET['lt'] 或者 $_POST['lt'] 或者
$_REQUEST['lt']都可以得到这个值。正则只有当你想再从这个值中提取特定值的时候才可能有用武之地。
$str = 'XXXXXXXXX<span class="YYYYY">ZZ</span>XXXXXXXXXXX';
$preg = "/\<span[\s]class\=\"()\"\>\<\/span\>/sim" ;
preg_match_all($preg, $str, $strResult, PREG_PATTERN_ORDER);
返回数组:$strResult
$strResult[0][0] = '<span class="YYYYY">ZZ</span>';
$strResult[1][0] = 'YYYYY';
以上就是关于php怎么写获取两个标签内的内容的正则表达式啊全部的内容,包括:php怎么写获取两个标签内的内容的正则表达式啊、PHP正则获取整个页面<p>标签里面的内容、怎么用php正则表达获取标签属性的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)