1

PHP で、文字列の最初の 3 文字だけを置換するにはどうすればよいですか?

そう:

$str = /pr/printers

Replace 'pr' with 'or'. So its -> /or/printers.

私に起こっていることは、プリンターの PR も交換されているということです。だから私は/or/orintersで終わっています。これはどのように行うことができますか?

4

5 に答える 5

3

私だけ、またはほとんどの回答が本当の質問に対処できていませんか? 文字列の残りの部分が一致した場合はどうなりますか。彼は、最初の 3 人のキャラクターが活躍することを望んでいます。私は 1 つの preg コメント^が意味を成す使用について言及していると思います。

$originalStr = '/pr/printers';
$prefix = substr($originalStr, 0, 3);
$newStr = str_replace("/pr","/or", $prefix) . substr($originalStr, 3);
echo $newStr;
于 2012-12-21T15:23:04.900 に答える
2
$str = '/pr/printers';

$newStr = str_replace('pr', 'or', mb_substr($str, 0, 3)) . mb_substr($str, 3);
于 2012-12-21T15:21:59.400 に答える
2

使用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;
于 2012-12-21T15:18:41.353 に答える
0

正規表現の使用を見てみましょう。これは恐ろしい獣ですが、より一般的なテキスト操作を行う場合は非常に強力です。

http://webcheatsheet.com/php/regular_expressions.php

于 2012-12-21T15:21:28.340 に答える
0

$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);
于 2012-12-21T15:18:37.317 に答える