如何更改 PHP 替换功能?

发布于 2024-09-29 05:36:37 字数 578 浏览 3 评论 0原文

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+');?>
add_filter('wp_list_categories', 'myCatNoBrk', 10, 1);

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

Hello, this is part of a wordpress function that would replace html breaks with commas. How could I alter this to also remove and add 'x' around each element?

in other words:
The output code is something like

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

I'd like to change this to show only ('cat1','cat2') for an array definition

example output:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

可爱咩 2024-10-06 05:36:37

我不是 100% 确定您要实现的目标,但这里有一个替换函数,可以让您指定要替换中断标记的内容 (
)

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).'\')';
    }

I am not 100% sure what you are trying to achieve, but here's a replacement function that lets you specify what you are putting in place of the break tags (<br />)

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

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

UPDATE:
try this

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

  function myCatNoBrk($OrgCat,) {

       preg_match_all(' /(?<=^|>)[^><]+?(?=<|$)/',$OrgCat,$CatNoBrk,PREG_PATTERN_ORDER);
       return '(\''.implode('\',\'',$CatNoBrk).'\')';
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文