PHP ile bir dize içinde bir değişkeni nasıl değiştirilir?

3 Cevap php

Yani benziyor bazı PHP kodu var:

$message = 'Here is the result: %s';

Ben sadece bir örnek olarak% s kullanılır. Bu temelde oraya gidecek ne olursa olsun bir yer tutucu. Sonra bir işleve dize geçmek ve ben bu işlevi değeri ile% s değiştirmek istiyor.

Ne Bunu başarmak için ne yapmak gerekiyor? Ben bazı regex yapmak ve preg_replace (), ya da bir şey kullanmak gerekiyor? ya da bunu yapmak için basit bir yolu var mı?

3 Cevap

Sen sprintf , which works in a very similar way to C's printf ve sprintf işlevlerini kullanabilirsiniz.

Eğer kullanırsanız %s, ben printf bir dize için kullandığı aynı tutucu olduğunu düşünüyorum. Yani yapabilirdi:

$text = sprintf($message, "replacement text");

En azından çalışması gerektiğini düşünüyorum ...

Dinamik değişkenler deneyin:

$placeholder = 's';
str_replace("%".$placeholder,$$placeholder,$message);

sonra% s $ s, değişkeni ile değiştirilecektir