用PHP中的递增数字替换字符串(str_Replace)
我有一个用这种方式调用的php函数 面包屑功能 在面包屑上盖章:用PHP中的递增数字替换字符串(str_Replace),php,str-replace,breadcrumbs,Php,Str Replace,Breadcrumbs,我有一个用这种方式调用的php函数 面包屑功能 在面包屑上盖章: <div class="breadcrumbs" itemscopeitemtype="http://schema.org/BreadcrumbList"> <span itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> <a href="#" itemprop="item"><
<div class="breadcrumbs" itemscopeitemtype="http://schema.org/BreadcrumbList">
<span itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<a href="#" itemprop="item"><span itemprop="name">Home</span></a>
<meta itemprop="position" content="nprog">
</span>
<span itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<a href="#" itemprop="item" ><span itemprop="name">Category</span></a>
<meta itemprop="position" content="nprog">
</span>
</div>
这将返回面包屑,不做任何更改
有什么帮助吗?这里有一个方法:
function str_replace_first($search, $replace, $subject) {
$pos = strpos($subject, $search);
if ($pos !== false) {
return substr_replace($subject, $replace, $pos, strlen($search));
}
return $subject;
}
$new_breadcrumbs = str_replace_first("nprog", "1", $breadcrumbs);
for($i=2; $i<=substr_count($breadcrumbs,"nprog");$i++){
echo $i;
$new_breadcrumbs =str_replace_first("nprog", $i, $new_breadcrumbs);
}
echo $new_breadcrumbs;
好的,我找到了一个将回显结果存储在$var中的解决方案:
<?php ob_start();
breadcrumbs();
$breadcrumbs = ob_get_contents();
ob_end_clean();
我希望这不会影响稳定性或性能 谢谢你的快速回复!您的解决方案非常有效,但当我替换$breadcrumbs='时,您的函数需要返回字符串,而不是回显它:function breadcrumbs_func{return'是的,您是对的,有一个解决方法可以让它工作,使函数回显结果'因为我无法重写函数。。。
<?php ob_start();
breadcrumbs();
$breadcrumbs = ob_get_contents();
ob_end_clean();