Как изменить PHP заменить функцию? - PullRequest
0 голосов
/ 26 октября 2010
add_filter('wp_list_categories', 'myCatNoBrk', 10, 1);

function myCatNoBrk($OrgCat) {
       $CatNoBrk = preg_replace('/<br \/>/',',',$OrgCat);
       return $CatNoBrk;
    }

Здравствуйте, это часть функции wordpress, которая заменяет html-разрывы запятыми. Как я могу изменить это, чтобы удалить и добавить 'x' вокруг каждого элемента?

другими словами: Выходной код выглядит как

<a href="xxx">cat1</a><br>
<a href="xxx2">cat2</a><br>
and so on

Я хотел бы изменить это, чтобы показывать только ('cat1', 'cat2') для определения массива

пример вывода:

<?php $grades_array = array('a+','a','a-','b+','b','b-','c+');?>

1 Ответ

1 голос
/ 26 октября 2010

Я не уверен на 100%, чего вы пытаетесь достичь, но вот функция замены, которая позволяет вам указать, что вы помещаете вместо тегов разрыва (
)

add_filter('wp_list_categories', 'myCatNoBrk', 10, 1);

function myCatNoBrk($OrgCat,$replacement = ',') {
       $CatNoBrk = preg_replace('/<br \/>/',$replacement,$OrgCat);
       return $CatNoBrk;
    }

UPDATE: попробуйте это

add_filter('wp_list_categories', 'myCatNoBrk', 10, 1);

  function myCatNoBrk($OrgCat,) {

       preg_match_all(' /(?<=^|>)[^><]+?(?=<|$)/',$OrgCat,$CatNoBrk,PREG_PATTERN_ORDER);
       return '(\''.implode('\',\'',$CatNoBrk).'\')';
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...