Nsystem
@Nsystem

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

PHPで、指定の文字から文字までを別の文字列に置き換える方法はありますか?

Q&A

Closed

PHPで、指定の文字から文字までを別の文字列に置き換える方法はありますか?
できれば、wordpressのショートコードみたいにしたいです

あ[Del]いあえお[/Del]お
→あ○○○○お
0

2Answer

class属性のダブルクォーテーション内側にマッチするよう正規表現パターンを組み立てるだけです。

まずは焦らず、正規表現パターン構文がしっかり理解できるようになることが先決です。

とりあえず先頭からサブパターンまでの内容が理解できればOKです。

1Like

提示されたフレーズに対して、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;
0Like

Comments

  1. @Nsystem

    Questioner

    出来ました!ありがとうございます!!
    恐縮ですが、出来れば、[Del class="abc"]TEXT[/Del]で、abcを取得するにはどうすればいいか教えてほしいです。

Your answer might help someone💌