用于替换CSS类名的PHP函数

时间:2017-05-06 00:39:42

标签: php css

这是函数

function replaceclass($html) {
    return preg_replace_callback('/class="([^"]+)"/', function($m) {

    if(strpos($m[1], "container") !== false) {
        $m[0] = preg_replace("/\s*container\s*/",'product-description-table',$m[0],1);
        }

    if(strpos($m[1], "content-border") !== false) {
    $m[0] = preg_replace("/\s*content-border\s*/",'product-content-border',$m[0],1);
        }

// add as many if conditions with class replacement names as you like
// if(strpos($m[1], "class-name") !== false) {
//     $m[0] = preg_replace("/\s*class-name\s*/",'new-class-name',$m[0],1);
//      }
// add as many if conditions with class replacement names as you like

    return $m[0];

       }, $html);
}

这对于只有一个类的类

非常有效
  

<table class="container">

  

<table class="product-description-table">

但是,只要元素有多个类,就会出现以下格式错误

  

<table class="container c8">

  

<table class="product-description-tablec8">

有人能想出一种简单的方法来修改这个函数来检测二级类并添加适当的间距<table class="product-description-table c8">吗?

0 个答案:

没有答案