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

问题描述

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

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

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

如果是其他情况...

$strinToReplace = 'Good sensed Developer Man';

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

解决方法

您可以将爆炸函数与 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);

?>

效果展示链接:

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);