Php 文本图像替换中的问题
我试图做一个文本替换,但由于有重复的字母,我不断得到我不想要的东西。有人知道我怎么做吗?Php 文本图像替换中的问题,php,html,string,replace,Php,Html,String,Replace,我试图做一个文本替换,但由于有重复的字母,我不断得到我不想要的东西。有人知道我怎么做吗? 输入 function image($img) { $img = ereg_replace("a","<img src=r/a.png>", $img); $img = ereg_replace("b","<img src=r/b.png>", $img); $img = ereg_replace("c","<img src=r/c.
输入
function image($img) {
$img = ereg_replace("a","<img src=r/a.png>", $img);
$img = ereg_replace("b","<img src=r/b.png>", $img);
$img = ereg_replace("c","<img src=r/c.png>", $img);
return $img;
}
$img = "abc";
echo image($img);
函数图像($img){
$img=ereg_替换(“a”、“”、$img);
$img=ereg_替换(“b”和“,$img”);
$img=ereg_替换(“c”、“”、$img);
返回$img;
}
$img=“abc”;
回波图像($img);
输出
function image($img) {
$img = ereg_replace("a","<img src=r/a.png>", $img);
$img = ereg_replace("b","<img src=r/b.png>", $img);
$img = ereg_replace("c","<img src=r/c.png>", $img);
return $img;
}
$img = "abc";
echo image($img);
<img sr<img src=r/c.png>=r/a.png><img sr<img src=r/c.png>=r/b.png><img src=r/c.png>
<img src=r/a.png><img src=r/b.png><img src=r/c.png>
=r/a.png>=r/b.png>
我想要的输出
function image($img) {
$img = ereg_replace("a","<img src=r/a.png>", $img);
$img = ereg_replace("b","<img src=r/b.png>", $img);
$img = ereg_replace("c","<img src=r/c.png>", $img);
return $img;
}
$img = "abc";
echo image($img);
<img sr<img src=r/c.png>=r/a.png><img sr<img src=r/c.png>=r/b.png><img src=r/c.png>
<img src=r/a.png><img src=r/b.png><img src=r/c.png>
正确更换“c”
和“a”
和“b”
时出现问题,但当它到达“c”
时,有许多“c”
原因还添加了“src”
,因此它替换了所有“c”
尝试使用单语句
function image($img) {
$img = ereg_replace("abc","<img src=r/a.png><img src=r/b.png><img src=r/c.png>", $img);
return $img;
}
$img = "abc";
echo image($img);
函数图像($img){
$img=ereg_替换(“abc”、“”、$img);
返回$img;
}
$img=“abc”;
回波图像($img);
也被弃用了试试这个,可能不够,但可以满足您的要求:
function image($img) {
$data="";
for( $i = 0; $i <= strlen($img); $i++ ) {
$char =substr( $img, $i, 1 );
switch($char)
{
case 'a':
$data .="<img src=r/a.png>";
break;
case 'b':
$data .="<img src=r/b.png>";
break;
case 'c':
$data .="<img src=r/c.png>";
break;
default:
break;
}
}
return $data;
}
$img = "abc";
echo image($img);
函数图像($img){
$data=“”;
对于($i=0;$i),以下是我尝试的:-
function image($img) {
for($i=0;$i < strlen($img);$i++){
$letterarray[]=$img[$i];
}
$a=0;
foreach ( $letterarray as &$value) { // reference
$value= str_replace($value, "<img src=r/$value.png>", $value);
$a++;
$ab[] = $value;
}
return implode("",$ab);
}
$img = "abc";
echo image($img);
函数图像($img){
对于($i=0;$i
在函数image()
中,您不需要指定$img
中包含的字母表。我想继续使用multiple语句,因为我稍后将添加整个字母表以创建类似徽标生成器的东西。尝试使用str_replace()或preg_replace(),谢谢我发现它很有用!