preg_replace PHP

4 Cevap php

Ben bu gerçekten kolay olduğunu biliyorum, ve ben bir milyon kez kendim yaptım; ama o gün geç ve ben bir beyin erime var.

Her oluşumu şiddetli maç ve bütün kelimeleri değiştirmek yerine çalışıyorum.

Yani, 'beni' kelimenin her faydalarının gelişi değiştirmek ve 'xxx' ile değiştirmek istiyorum

Ie. 'Me Smeg karşılar' xxx Smeg karşılar 'olur

Ne istemiyorum:

'Me Smeg karşılar' xxx xxxets sxxg 'olur

Ben preg_match biliyorum ama ben sadece tam sözcükleri eşleştirme desen hatırlayamıyorum.

Lütfen yardım

Oliver.

4 Cevap

Aşağıdaki regex deneyin:

$replaced = preg_replace('/\bme\b/i', 'xxx', $subject);

\b olan word boundry PCRE Reference de tanımlandığı gibidir.

Kelime sınırı karakterler

$output = preg_replace( "/\\bme\\b/", 'xxx', $input );

/\bMe\b/ (veya /\bme\b/i dava açtıkları için) gibi \b matches a word boundary, bu yüzden bir şey size arzu regex vermelidir!

Sen \b kelime sınırını kullanın.

$str = preg_replace('/\bMe\b/', 'xx', $str);

Dava açtıkları için, i değiştirici kullanın:

$str = preg_replace('/\bme\b/i', 'xx', $str);