Witam wszystkich Jestem nowy w PHP, w moim przypadku chcę dodać konkretną literę w konkretnym słowie w zdaniu. Na przykład: Mam funkcję, która zwraca ten ciąg w html => "Zamówienie #...

1
php love 25 czerwiec 2021, 14:47

4 odpowiedzi

Najlepsza odpowiedź

Możesz użyć substr_replace. Poniższy kod mówi: na 7 miejscu ciągu $withoutP wstaw literę P.

<?php
$withoutP = "Order #000000022";
$withP = substr_replace($withoutP, 'P', 7, 0);

echo $withP;

Jeśli nie możesz założyć, że ciąg zawsze zawiera słowo Order, możesz użyć kombinacji implode, explode i substr_replace.

<?php
$withoutP = "Order #000000022";
$exploded = explode("#", $withoutP);
$exploded[1] = substr_replace($exploded[1], 'P', 0, 0);

$withP =  implode("#", $exploded);
echo $withP;
0
Daan 25 czerwiec 2021, 12:10

Możesz użyć funkcji str_replace

function addP($text) {
   return str_replace('Order #', 'Order #P', $text);
}
0
Muh Fadjar Rhomadoni 25 czerwiec 2021, 12:00
<?php echo substr_replace($oldstr, 'P', 7, 0); ?>

Zaczerpnięte z: Wstaw ciąg w określonej pozycji

0
CrynetOmega 25 czerwiec 2021, 11:54

Jeśli nie znasz pozycji „#”, użyj tego:

$pos=strpos($withoutP, "#");
$withP = substr_replace($withoutP, 'P', $pos, 0);
1
DUBROCA Bastien 25 czerwiec 2021, 12:14