根据唯一标记删除字符串的第一部分

时间:2013-08-19 16:00:37

标签: php

我正在寻找一种方法来删除<p class="releaseDateline">SOME TEXT</p>之间的所有内容。好消息是字符串总是使用<p class="releaseDateline">SOME TEXT</p> - 坏消息是该p标签内的文本总是会改变。

我要找的不仅是删除<p class="releaseDateline"></p>之间的文字,还要删除完整的<p class="releaseDateline"></p>部分之间的文字。

示例字符串:

<p class="releaseDateline">New York, NY  August 19, 2013 </p><p>Kaminski Auctions is pleased to announce the addition of Sheri Mason to our team of expert appraisers.</p>

我要找的是得到这个结果:

<p>Kaminski Auctions is pleased to announce the addition of Sheri Mason to our team of expert appraisers.</p>


也就是说,如果我的字符串包含<p class="releaseDateline"></p>,那么无论标签中包含哪些文本,我都希望将其删除,但请保持其他所有内容。

我仍然是PHP的新手,因为我偶尔会为朋友做一些小工作,所以我尝试了str_replace的一些东西,但由于元素中的内容是不一样的,我有问题理解我会如何从那里开始。

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

您可以使用此功能($str保留您的内容):

preg_replace('/<p class="releaseDateline">(.*)</p>/g', '', $str);

看看这里:http://regexr.com?360sd

答案 1 :(得分:0)

<?php
$myString = '<p class="releaseDateline">New York, NY  August 19, 2013 </p><p>Kaminski Auctions is pleased to announce the addition of Sheri Mason to our team of expert appraisers.</p>';
$tab1 = explode('<p class="releaseDateline">', $myString);
if(isset($tab1[1])){
  $tab2 = explode('</p>', $tab1[1]);
  $myString = $tab2[1];
}
echo $myString;
?>