您好,我对“woocommerce下载”部分有问题;“我的帐户”;页面-产品名称和变体名称之间的跨标记。
https://i.stack.imgur.com/TIg0X.png
我试着做一个片段:
add_filter( \'woocommerce_customer_available_downloads\', \'remove_span_dl_name\', 10, 7);
function remove_span_dl_name( $download ){
return str_replace( \'<span> - </span>\', \' - \',$download[\'download_name\']);
}
但它完全删除了所有下载。
而这个什么都不做:
add_filter( \'woocommerce_available_download_link\', \'remove_span_dl_name\', 10, 7);
function remove_span_dl_name( $download ){
return str_replace( \'<span> - </span>\', \' - \',$download[\'download_name\'] );
}
我的错误是什么?我怎样才能去掉这些标签?
SO网友:Rick Hellewell
记住这一点str_replace
查找exact “针”的匹配(你在寻找什么;“干草堆”是你在里面搜索的东西)。因此,您的代码找不到精确匹配。
如果您想“替换该大块文本中跨代码内的所有内容”,那么可以使用regex语句。这是假设您正在搜索的“干草堆”每次都不同。(因为我不懂你的语言,所以说不准。
但是,假设$download[\'donload_name\']
包含开始和停止span标记,以及中间的一些内容,然后尝试执行两个str\\u replace命令:一个用于<span>
一个用于</span>
.
假设<span>
. 如果有,正则表达式可能是更好的主意。