php怎么写获取两个标签内的内容的正则表达式啊

php怎么写获取两个标签内的内容的正则表达式啊,第1张

<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正则表达获取标签属性的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9357375.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存