如何改变PHP替换功能?

时间:2010-10-26 04:21:56

标签: php wordpress wordpress-theming

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 个答案:

答案 0 :(得分:1)

我不是100%确定你想要达到的目标,但是这里有一个替换功能,可让你指定你所代替的断点标签(&lt; br /&gt;)

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

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

更新: 试试这个

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

  function myCatNoBrk($OrgCat,) {

       preg_match_all(' /(?<=^|>)[^><]+?(?=<|$)/',$OrgCat,$CatNoBrk,PREG_PATTERN_ORDER);
       return '(\''.implode('\',\'',$CatNoBrk).'\')';
    }