2017-01-30 5 views
0

Hier aktuelle Code mit Zufallswort ersetzen: -Für jedes Vorkommen des Wortes im striing von Array

function randommacrofunc($string){ 

    $RandomTextArray = array("Name","Think","Person","Apple","Orange","bananna"); 
    $count = substr_count($string, '{random}'); 
    $i = 0; 
    //re: 
    if ($i <= $count){ 
    shuffle($RandomTextArray); 
    $string = str_replace('{random}', $RandomTextArray[$i], $string, $i); 

    $i++; 
    //goto re; 
    } 

    return $string; 
} 

Mein Ziel ist es, jedes Auftreten von {random} in einem String durch ein Wort aus dem $RandomTextArray Array holen zu ersetzen . Beim Laden wird das richtige Wort ersetzt, aber mit demselben Wort. Exemple: {random}{random}{random} Rückkehr AppleAppleApple Bit ich es ApplePersonThink

Antwort

2

zurückkommen will versuchen wit zufälliges Array Wert raplace:

<?php 
function randommacrofunc($string){ 

$RandomTextArray = array("Name","Think","Person","Apple","Orange","bananna"); 

$count = substr_count($string, '{random}'); // count number of `{randome}` in the string 

for ($i = 0;$i<$count;$i++){ // iterate for loop till the count reach 
     $string = preg_replace('/{random}/', $RandomTextArray[rand(0,(count($RandomTextArray)-1))], $string, 1); 
} 
return $string; // return final replaced string 
} 

$string = '{random} string {random} string {random} string {random} string {random} string {random}'; 
echo randommacrofunc($string); 
+0

Ja das so gut funktioniert hat und weniger Code als @Anant – btc4cash

+1

es für zufälligen Austausch funktioniert. Meins ist für den sequentiellen Ersatz. –

+1

@mith gute Leistung BTW +1 –

Verwandte Themen