繁体   English   中英

使用正则表达式删除标签之间的文本

[英]Remove text between tags using a regular expression

如何使用正则表达式删除br标签之间的文本

<br />var j=; var g=; g+=G;j+=30006;g+=a;g+=u;g+=l;g+=t;<br />

“ var”和“;” 始终存在,但其他单词和符号可能会有所不同,如下所示:

<br />var e=; var x=; x+=tos;x+=ах,;<br />

等等...

这些行以随机顺序出现:

<br />Lorem ipsum dolor sit amet, consectetur adipiscing elit.<br />var j=; var g=; g+=G;j+=30006;g+=a;g+=u;g+=l;g+=t;<br /> Donec condimentum neque quis magna consectetur ut aliquam quam dictum. Fusce sed elit purus, lobortis tincidunt libero.<br />Nunc ultrices augue non augue tristique in aliquet urna adipiscing.<br /><br />var ... ;<br />

谢谢!

您想要的正则表达式将是

<br\s\/?>.*?var.*?;.*?<br\s\/?>

并将输出替换为<br /><br />

如果只需要输出<br /><br /> ,则不需要正则表达式:

$result = "<br /><br />";

这只是一个常数!

如果<br />元素的数量变化,则可以使用substr_count()来计数<br />元素,然后分别输出相同的数量。

如果您需要对整个文本并按<br/>对进行处理,则可以执行以下操作:

$str = 'test0 <br />var j=; var g=; g+=G;j+=30006;g+=a;g+=u;g+=l;g+=t;<br /> test1 <br /> test2';
$result = preg_replace('`<br */>.*?<br */>`s','<br/><br/>',$str);
var_dump($result);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM