Skip to content

Instantly share code, notes, and snippets.

@basicsharp
Last active December 13, 2015 23:48
Show Gist options
  • Select an option

  • Save basicsharp/4993747 to your computer and use it in GitHub Desktop.

Select an option

Save basicsharp/4993747 to your computer and use it in GitHub Desktop.

Revisions

  1. basicsharp revised this gist Feb 20, 2013. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions PHP Remove HTML Classes with Exception
    Original file line number Diff line number Diff line change
    @@ -26,5 +26,7 @@

    $input = '<a class="xxx yyy zzz" href="">';
    echo replace_class($input, array('yyy'));

    //output: <a class="yyy" href="">

    ?>
  2. basicsharp revised this gist Feb 20, 2013. 1 changed file with 23 additions and 23 deletions.
    46 changes: 23 additions & 23 deletions PHP Remove HTML Classes with Exception
    Original file line number Diff line number Diff line change
    @@ -1,30 +1,30 @@
    <?php

    function replace_class($input, $except_classes=false) {
    if (!$except_classes) {
    return preg_replace('/ class=".*?"/', '', $input);
    }

    preg_match("/(class=\")(.*?)(\")/um", $input, $matches);

    $classes = explode(' ', $matches[2]);
    $filtered_classes = false;
    foreach ($classes as $class) {
    if (in_array($class, $except_classes))
    $filtered_classes = ' '.$class;
    }

    if ($filtered_classes) {
    if (strlen($filtered_classes) > 1)
    $filtered_classes = substr($filtered_classes, 1);
    return preg_replace('/ class=".*?"/', ' class="'.$filtered_classes.'"', $input);
    }
    else {
    return preg_replace('/ class=".*?"/', '', $input);
    }
    if (!$except_classes) {
    return preg_replace('/ class=".*?"/', '', $input);
    }

    $input = '<a class="xxx yyy zzz" href="">';
    echo replace_class($input, array('yyy'));
    preg_match("/(class=\")(.*?)(\")/um", $input, $matches);

    $classes = explode(' ', $matches[2]);
    $filtered_classes = false;
    foreach ($classes as $class) {
    if (in_array($class, $except_classes))
    $filtered_classes = ' '.$class;
    }

    if ($filtered_classes) {
    if (strlen($filtered_classes) > 1)
    $filtered_classes = substr($filtered_classes, 1);
    return preg_replace('/ class=".*?"/', ' class="'.$filtered_classes.'"', $input);
    }
    else {
    return preg_replace('/ class=".*?"/', '', $input);
    }
    }

    $input = '<a class="xxx yyy zzz" href="">';
    echo replace_class($input, array('yyy'));

    ?>
  3. basicsharp created this gist Feb 20, 2013.
    30 changes: 30 additions & 0 deletions PHP Remove HTML Classes with Exception
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,30 @@
    <?php

    function replace_class($input, $except_classes=false) {
    if (!$except_classes) {
    return preg_replace('/ class=".*?"/', '', $input);
    }

    preg_match("/(class=\")(.*?)(\")/um", $input, $matches);

    $classes = explode(' ', $matches[2]);
    $filtered_classes = false;
    foreach ($classes as $class) {
    if (in_array($class, $except_classes))
    $filtered_classes = ' '.$class;
    }

    if ($filtered_classes) {
    if (strlen($filtered_classes) > 1)
    $filtered_classes = substr($filtered_classes, 1);
    return preg_replace('/ class=".*?"/', ' class="'.$filtered_classes.'"', $input);
    }
    else {
    return preg_replace('/ class=".*?"/', '', $input);
    }
    }

    $input = '<a class="xxx yyy zzz" href="">';
    echo replace_class($input, array('yyy'));

    ?>