PHP ve preg_replace

0 Cevap php

Ben bu gibi ayrıştırma am bazı metin var:

Some text. Some text. Some text. Some text. Some text. Some text. Some text. Some text. Some text. Some text. Some text. Some text. Some text. Some text. Some text. Some text. Some text. [attachment=0]Winter.jpg[/attachment]Some text. Some text. Some text. Some text. Some text. Some text. Some text. Some text. Some text. Some text. Some text. Some text.

Ben dizeden böyle metnin bir örneğini maç ve kaldırmak istiyorum:

[attachment=0]Winter.jpg[/attachment]

Winter.jpg herhangi bir metin olabilir nerede.

Ancak, bazı PHP Uyarıları alıyorum. Ben orada çalışıyor ama bir JavaScript REGEX işlevini kullanır, bu oluşturmak için regexpal.com kullanılır:

\[attachment=.*?].*\[/attachment]

Bu kodu çalıştırdığınızda:

$pm_row['message_text'] = preg_replace('\[attachment=.*?\].*\[/attachment\]', '', $pm_row['message_text']);

PHP bir uyarı ile yakınır:

[phpBB Debug] PHP Notice: in file /mail_digests.php on line 841: preg_replace() [function.preg-replace]: Delimiter must not be alphanumeric or backslash

Yani kod benzer bir çizgi üzerinde, bir "/" ile desen sınırlandırmak:

$post_row['post_text'] = preg_replace('/\[attachment=.*?].*\[/attachment]/', '', $post_row['post_text']);

Ancak bu, aşağıdaki oluşturur:

[phpBB Debug] PHP Notice: in file /mail_digests.php on line 957: preg_replace() [function.preg-replace]: Unknown modifier 'a'

Bunu düzeltmek konusunda herhangi bir fikir?

0 Cevap