我需要删除这些html块之间的内容:
$var1 ="
<html><head>
<meta http-equiv='content-type' content='text/html; charset=ISO-8859-1'></head><body>
<img alt='shopozilla' src='http://www.ssopte.com/images/2010/usdos-logo-seal.png' >
<span style='font-family: Arial,Helvetica,sans-serif; color: rgb(93, 93, 93);
font-size: 17px; font-weight: bold;'>shopozilla sent this message to
";
$var2 = "
Section 222 of the sand sAct. Section 222(f) provides that the records of the separtment of State and of diplomatic and consular </font><br>
</td></tr></tbody></table></td></tr></tbody></table></body></html>
";
到目前为止,我试过
<pre>
$content = preg_replace("/$var1(.*)$var2/m", "", $htmlContent);
</pre>
但是没有工作,所以我需要一个应该有效的模式/正则表达式。
答案 0 :(得分:0)
尝试删除preg之外的图案。
$pattern = "/$var1(.*)$var22/m"; //adding /s might help with the /m
这样你可以回显$ pattern;并检查它是否有效。
答案 1 :(得分:0)
您的模式包含许多在正则表达式中具有特殊含义的字符,因此对于要搜索的内容感到困惑preg_replace
。只需使用str_replace
代替,因为你真的不需要正则表达式。有一段时间没有完成PHP,但请尝试:
$pos1 = stripos($htmlcontent, $var1);
$pos2 = strripos($htmlcontent, $var2);
$content = substr_replace($htmlcontent, "", $pos1, $pos2 + strlen($var2));