如何用str_replace()替换所有出现的两个子字符串?
目前我有这个代码,用<br />
来代替任何双空间。如何用str_replace()替换所有出现的两个子字符串?
它按预期工作:
但是我想要做的另一个str_replace()
在同一行上有竖线|
更换任何单个空格。
我试着复制代码,但是这只是为我创建了另一个TD
。
任何帮助,将不胜感激。
排列的顺序的确很重要,否则你会得到<br|/>
,而不是<br />
这样试试:
str_replace(array(' ','||'), array('|','<br /><br />'), trim($result['garment_type']));
事情是这样的:
echo str_replace(array(' ','||'), array('|','<br /><br />'), 'crunchy bugs are so tasty man');
给您:
crunchy<br /><br />bugs|are|so<br /><br />|tasty|man
基本上你是第一改变每个空间|
那么你改变任何具有两个彼此(||
)旁边<br /><br />
。
如果你走另一条路,你会改变两个空间,以<br /><br />
,然后你正在改变单一的空格|
和其间的<br />
有一个空格,所以你最终<br|/>
。
编辑与您的代码:
'<tr class="' . ($counter++ % 2 ? "odd" : "even") . '">
<td>Garments:</td>
<td>' . str_replace(array(' ','||'), array('|','<br /><br />'), trim($result['garment_type'])) . '</td>
</tr>'
你可以通过数组str_replace函数
$what[0] = ' ';
$what[1] = ' ';
$with[0] = '<br /><br />';
$with[1] = '|';
str_replace($what, $with, trim($result['garment_type']))
我将如何在我的代码中使用它。一个例子会很好 – Joe
Downvoted这个答案,因为它是不正确的/不提供所需的输出。 http://sandbox.onlinephpfunctions.com/code/6109975759520598646ebb4925af32147b02d9e3 – mickmackusa
要解决的问题与str_replace
(在<br />
空间正在与|
取代)尝试strtr
:
echo strtr(trim($result['garment_type']), array(' '=>'|', ' '=>'<br /><br />'));
这个问题会,如果它得到改善提供了一些样本输入数据('$ result ['garment_type']')和期望的输出字符串。请记住,未来,寻求教育的人将访问这个页面数千次。 – mickmackusa