在此代码中例如:
$hello=['aaaa','bbbb','cccc'];
$by=['1111','2222','3333'];
$data = "1111 aaaa cccc";
我想用 $hello
替换 $by
并使用此自定义替换数据,例如:
str_replace( $hello , "<b>". $by . "</b>" , $data);
但是我收到数组到字符串错误。如何使用这个自定义替换方法?
最佳答案
您需要在 str_replace
中将参数作为数组提供,通过连接字符串,会产生错误。首先在数组替换字符串上应用粗体文本连接,然后使用 str_replace
。
这个想法是这样的:
$by = array_map(function($e) {
return "<b>{$e}</b>";
}, $by);
当你使用它时:
$hello=['aaaa','bbbb','cccc']; // needles
$by=['1111','2222','3333']; // replacements
$by = array_map(function($e) { // apply bold to replacements
return "<b>{$e}</b>";
}, $by);
$data = "1111 aaaa cccc"; // haystack
$data = str_replace( $hello , $by, $data); // actual replacements
// ^ array ^
关于php 用自定义替换数据替换数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48376458/