如何使用php删除每个“cite”标签中的“a”标签?

时间:2016-11-04 12:16:09

标签: php html regex string tags

字符串包含一些带有文字和链接的cite标记

<cite></cite>

一部开拓创新:

<cite>Quote from <a href="/page.php" class="link">Testuser » 29.09.2016 15:08</a>:</cite>

结果:

<cite>Quote from Testuser » 29.09.2016 15:08:</cite>

删除链接的最快方法是什么?仅在引用标记之间保留文本?

谢谢

5 个答案:

答案 0 :(得分:1)

请检查以下代码:

<?php
//Function to fetch text from between certain tag
//In our case it will be used to fetch text from <cite></cite> tags.
function everything_in_tags($string, $tagname)
{
    $pattern = "#<\s*?$tagname\b[^>]*>(.*?)</$tagname\b[^>]*>#s";
    preg_match($pattern, $string, $matches);
    return $matches[1];
}
//Use srtip_tags function to remove a tag and fetch text.
echo '<cite>'.strip_tags(everything_in_tags('<cite>Quote from <a href="/page.php" class="link">Testuser >> 29.09.2016 15:08</a>:</cite>', 'cite')).'</cite>';

?>

答案 1 :(得分:0)

最快的方式是:

$s = '<cite>Quote from <a href="/page.php" class="link">Testuser » 29.09.2016 15:08</a>:</cite>';
$s = '<cite>' . strip_tags($s) . '</cite>';

答案 2 :(得分:0)

我能想到的最快方式

$string = '<cite>Quote from <a href="/page.php" class="link">Testuser » 29.09.2016 15:08</a>:</cite>';

$string = '<cite>'.strip_tags($string).'</cite>';

答案 3 :(得分:0)

解析HTML并使用DOM是最佳解决方案,但因为您想要最快的方式,您可以使用正则表达式。我使用preg_replace_callback()查找$(".dropdown:not(.li-search) a.dropdown-toggle", ".navbar-collapse").on("click", function(event) { var target = $(this).attr("target"); if (event.keyCode !== '40'){ if (!$(".li-menu").is(":visible") && target === undefined) { location.href=this.href; } else { window.open(this.href, '_blank'); } } }); 标记并迭代所选标记。在回调函数中,使用strip_tags()删除所选cite中的HTML标记。

cite

检查demo

中的结果

答案 4 :(得分:0)

你也可以这样做

foreach (var item in _query)
{
    EnrolmentList.Add(new EnrolmentEntity
    {
        PeopleUnitsID = item.PeopleUnitsID,
        PersonCode = item.PersonCode,
        UnitType = item.UnitType,
        ProgressCode = item.ProgressCode,
        ProgressStatus = item.ProgressStatus,
        ProgressDate = Convert.ToDateTime(item.ProgressDate),
        UnitInstanceID = item.UnitInstanceID,
        UnitInstanceOccurrenceID = item.UnitInstanceOccurrenceID,
        CourseCode = item.CourseCode,
        OwningOrganisation = item.OwningOrganisation,
        CalendarOccurrenceCode = item.CalendarOccurrenceCode,
        FES_Start_Date = Convert.ToDateTime(item.FES_Start_Date),
        AimStartDate = Convert.ToDateTime(item.AimStartDate)
    });
}