2016-08-09 5 views
1

すべてのエラーを<p>[gallery ids=""]</p>と置き換えるにはどうすればいいですか?何かの原因を1つだけに置き換えます

$string = "/\<p\>\[gallery ids=\"\"\]\<\/p\>/"; 
    $content = "asdfsdfdsafasdfaasfddsaf <p>[gallery ids=""]</p><p>[gallery ids=""]</p><p>[gallery ids=""]</p>"; 
    if (preg_match_all($string, $content, $matches)) { 

    } 

$contentpreg_replace機能使用asdfsdfdsafasdfaasfddsaf <p>[gallery ids=""]</p>

答えて

2

シンプルなソリューションでなければなりません:

$content = 'asdfsdfdsafasdfaasfddsaf <p>[gallery ids=""]</p><p>[gallery ids=""]</p><p>[gallery ids=""]</p>'; 
$content = preg_replace("/(<p>\[gallery ids=\"\"\]<\/p>){2,}/", "$1", $content); 

print_r($content); 
1

あなたは多くのものへの道を脱出しているが、あなたは数量詞で問題を見つける必要があり、この中{1,}ケース:1から無制限の間。

あなたのコンテンツに改行がある場合に備えて、gグローバル修飾子も追加してください。

$content = preg_replace('/(<p>\[gallery ids=""\]<\/p>){1,}/g', '$1', $content); 
関連する問題