PHP で、文字列の最初の 3 文字だけを置換するにはどうすればよいですか?
そう:
$str = /pr/printers
Replace 'pr' with 'or'. So its -> /or/printers.
私に起こっていることは、プリンターの PR も交換されているということです。だから私は/or/orintersで終わっています。これはどのように行うことができますか?
PHP で、文字列の最初の 3 文字だけを置換するにはどうすればよいですか?
そう:
$str = /pr/printers
Replace 'pr' with 'or'. So its -> /or/printers.
私に起こっていることは、プリンターの PR も交換されているということです。だから私は/or/orintersで終わっています。これはどのように行うことができますか?
私だけ、またはほとんどの回答が本当の質問に対処できていませんか? 文字列の残りの部分が一致した場合はどうなりますか。彼は、最初の 3 人のキャラクターが活躍することを望んでいます。私は 1 つの preg コメント^
が意味を成す使用について言及していると思います。
$originalStr = '/pr/printers';
$prefix = substr($originalStr, 0, 3);
$newStr = str_replace("/pr","/or", $prefix) . substr($originalStr, 3);
echo $newStr;
$str = '/pr/printers';
$newStr = str_replace('pr', 'or', mb_substr($str, 0, 3)) . mb_substr($str, 3);
使用str_replace()
:
$str = '/pr/printers';
$str = str_replace("/pr/","/or/",$str);
echo $str;
使用preg_replace()
(4番目のパラメーターは1に設定した制限です)」
$str = '/pr/printers';
$str = preg_replace("/pr/","or",$str,1);
echo $str;
正規表現の使用を見てみましょう。これは恐ろしい獣ですが、より一般的なテキスト操作を行う場合は非常に強力です。
$new = str_replace('/pr/', '/or/', '/pr/printers');
次のような正規表現を使用することもできます: http://www.laprbass.com/RAY_temp_norman.php
<?php // RAY_temp_norman.php
error_reporting(E_ALL);
$rgx
= '#' // REGEX DELIMITER
. '^' // START OF STRING
. '/pr' // PATTERN TO MATCH
. '#' // REGEX DELIMITER
. 'i' // OPTIONAL- CASE-INSENSITIVE
;
$str = '/pr/printers';
$rep = '/or';
$new = preg_replace($rgx, $rep, $str);
var_dump($new);