🐒

【サルが書く】特定文字列と特定文字列の間の特定文字列を取り除く

1 min read

わきゃ!!

文字列から特定の文字列を取り出す操作は探せばあるけど、特定文字列と特定文字列の間の特定文字列を取り除きたいが見当たらなかったのでこれが役に立てば嬉しいです!

以下の例の場合は<blockquote></blockquote>の間の<p></p>を取り除きたいという例です。
適宜入れ替えてご使用ください。

	    $body = '<blockquote>hoge<p>fuga</p>piyo<\/blockquote>';
        $htmlTags = ['<p>', '</p>'];

		$body = preg_replace_callback(
            '/<blockquote>(.*?)<\/blockquote>/',
            function ($matches) use ($htmlTags) {
                $quotation = str_replace($htmlTags, '', $matches[1]);
                return "<blockquote>{$quotation}</blockquote>";
            },
            $body
        );

Discussion

ログインするとコメントできます