What regular expression should i use to turn a string like "^1String 1^0String2" into
Code: Select all
<span style="color : red;">String 1</span><span style="color : black;">String 2</span>Moderator: General Moderators
Code: Select all
<span style="color : red;">String 1</span><span style="color : black;">String 2</span>Code: Select all
$find = array('^1', '^0');
$replace = array(' <span style="color : red;" ', '<span style="color : red;" ');
$new = str_replace($find, $replace, "^1String1^0String2";Code: Select all
<?php
$string ="^1String1^2String2^3String3";
$colors= array(1 => "red" ,2 => "blue" ,3 => "black");
foreach($colors as $key => $value)
{
$string = preg_replace("/\^($key)([^\^]*)/", "<span style=\"color : $value;\">$2</span>", $string);
}
?>Code: Select all
<span style="color : red;">String1</span><span style="color : green;">String2</span><span style="color : blue;">String3</span><span style="color : black;">String4</span>Code: Select all
<span style="color : red;">String1</span><span style="color : green;">String2<span style="color : red;">String3</span></span><span style="color : green;">String4</span>Code: Select all
<?php
$string = "^1String1^2String2^1String3^2String4";
$keys = array(1 => 'red', 2 => 'black');
$newstring = $string;
$loopnum = 0;
foreach ($keys as $k => $v)
{
$newstring = preg_replace("/\\^" . $k . "([^\\^]+)/", "<span style=\"color:" . $v . "\">\$1</span>", $newstring);
echo (++$loopnum) . ") => " . $newstring . "\n";
}
echo "Result) => " . $newstring;Code: Select all
1) => <span style="color:red">String1</span>^2String2<span style="color:red">String3</span>^2String4
2) => <span style="color:red">String1</span><span style="color:black">String2<span style="color:red">String3</span></span><span style="color:black">String4</span>
Result) => <span style="color:red">String1</span><span style="color:black">String2<span style="color:red">String3</span></span><span style="color:black">String4</span>Code: Select all
<?php
$string = "^1String1^2String2^1String3^2String4";
$keys = array(1 => 'red', 2 => 'black');
$newstring = $string;
foreach ($keys as $k => $v)
{
$newstring = preg_replace("/\\^" . $k . "([^\\^]+)/", "^" . $k . "<span style=\"color:" . $v . "\">\$1</span>", $newstring);
}
$newstring = preg_replace("/\\^[0-9]/", "", $newstring);
echo $newstring;Code: Select all
$string = "^1String1^2String2^1String3^2String4";
function color($matches)
{
$keys = array(1 => 'red', 2 => 'black');
return "<span style=\"color:" . $keys[$matches[1]] . "\">". $matches[2] ."</span>";
}
$newstring = preg_replace_callback("/\\^(\\d)([^\\^]+)/", "color", $string);
echo $newstring;Code: Select all
$string = "^1String1^2String2^1String3^2String4";
$keys = array(1 => 'red', 2 => 'black');
$newstring = preg_replace("/\\^(\\d)([^\\^]+)/e", '"<span style=\"color:$keys[$1]\">$2</span>"', $string);