php preg_replace html content - PullRequest
       31

php preg_replace html content

0 голосов
/ 25 февраля 2011

Мне нужно удалить содержимое между этими 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> 

";

Пока я пытался

<code><pre>
$content =  preg_replace("/$var1(.*)$var2/m", "", $htmlContent);

, но не работает, поэтому мне нужношаблон / регулярное выражение, которое должно работать.

Ответы [ 2 ]

0 голосов
/ 25 февраля 2011

Ваш шаблон содержит много символов, которые имеют специальные значения в регулярном выражении, поэтому он не может понять, что искать. Просто используйте str_replace вместо этого, потому что вам действительно не нужно регулярное выражение для этого. PHP давно не делал, но попробуйте:

$pos1 = stripos($htmlcontent, $var1);
$pos2 = strripos($htmlcontent, $var2);

$content = substr_replace($htmlcontent, "", $pos1, $pos2 + strlen($var2));

И есть одна точка, которую нельзя подчеркнуть достаточно .

0 голосов
/ 25 февраля 2011

Попробуйте удалить шаблон за пределами прегра.и проверьте, действительно ли это.

...