Str_replace 在 Blade 文件中,如果任何单词匹配

Str_replace in Blade file if any of the words match

我有一个危重病例;如果任何给定字符串与我的 Laravel Blade 文件中的特定字符串匹配,我想替换单词。

@php
    $stringToReplace = 'Very Good Developer';
    $stringFrom = 'You are a Good Developer';

    echo str_replace($stringToReplace, '', $stringFrom);
@endphp

如果对于其他情况...

$strinToReplace = 'Good sensed Developer Man';

我想至少用 $stringToReplace 替换 中匹配的任何匹配词 $stringToReplace,它应该替换。

您可以结合使用 explode 函数和 str_replace 函数来完成这项工作:

<?php
///////////////////////////
function specialreplacenew($source, $replacestring) {
$pieces = explode(" ", $replacestring);
$count=count($pieces);

$index=0;

$newstring=$source;

while ($index <$count) {

$newstring=str_replace($pieces[$index], '', $newstring);
$index++; }
return $newstring;
}
///////////////////////////



$stringToReplace = 'Good sensed Developer Man';
$stringFrom = 'You are a Good Developer';

echo specialreplacenew($stringFrom, $stringToReplace);

?>

Link展示效果:

http://sandbox.onlinephpfunctions.com/code/db6cbac8996281c39bf19caaf3b2042ba88d075d

你可以使用正则表达式,这样Very在匹配的时候是可选的。

$regexp = '/(Very )?Good Developer/';
$stringFrom = 'You are a Good Developer';
echo preg_replace($regexp, '', $stringFrom);

代替字符串使用数组来替换任何单词

$stringToReplace = array('Very', 'Good', 'Developer');
$stringFrom = 'You are a Good Developer';

echo str_replace($stringToReplace, '',$stringFrom);

对于动态你可以这样使用

$stringToReplace = 'Very Good Developer';
$stringToReplace = explode(' ',$stringToReplace);
$stringFrom = 'You are a Good Developer';

echo str_replace($stringToReplace, '',$stringFrom);