PHPで、指定の文字から文字までを別の文字列に置き換える方法はありますか?
Q&A
Closed
PHPで、指定の文字から文字までを別の文字列に置き換える方法はありますか?
できれば、wordpressのショートコードみたいにしたいです
あ[Del]いあえお[/Del]お
→あ○○○○お
0
Q&A
Closed
PHPで、指定の文字から文字までを別の文字列に置き換える方法はありますか?
できれば、wordpressのショートコードみたいにしたいです
あ[Del]いあえお[/Del]お
→あ○○○○お
class
属性のダブルクォーテーション内側にマッチするよう正規表現パターンを組み立てるだけです。
まずは焦らず、正規表現パターン構文がしっかり理解できるようになることが先決です。
とりあえず先頭からサブパターンまでの内容が理解できればOKです。
提示されたフレーズに対して、preg_replace_callbackを使った例
<?php
$source = "あ[Del]いあえお[/Del]お";
$pattern = "#\[Del\](.+?)\[/Del\]#";
$result = preg_replace_callback(
$pattern,
function ($matches) {
return str_repeat('o', mb_strlen($matches[1]));
},
$source
);
echo $result;
@Nsystem
Questioner