Tag vücutta kote metin ayıklamak için PHP düzenli ifade

3 Cevap php

PHP düzenli ifade yazmak çalışıyorum. Bu koddan ben 'bar' eşleştirmek istiyor.

<data info="foo">
  "bar"|tr
</data>

Ben başarı olmadan, bu iki regex çalıştı. Bu 'foo ">" bar' eşleşir.

$regex = '/"(.*?)"\|tr/s';
$regex = '/"[^"]+(.*?)"\|tr/s';

Herkes bana yardımcı olabilir?

3 Cevap

PHP dizeleri ters eğik çizgi kaçış gerekir:

$regex = '/"([^"]*)"\\|tr/s';

İlgini gibi görünüyor tırnak, içeriğini almak için bir yakalama grubunu eklendi

XML için regex uygulamak gibi görünüyor beri, ben sadece bunu XML uyarmak istiyorum ve düzenli ifadeler birlikte iyi bir oyun yok. Regex DOM ile birlikte sadece tavsiye edilir.

\"\w+\"

Parantez içinde herhangi bir kelime karakter eşleşmesi gerekir

Bu deneyin:

$regex = '/"([^">]+)"\|tr/s'

Sadece harf ve numaraları maç istiyorsanız, bunu yapabilirsiniz:

$regex = '/"([\w\d]+)"\|tr/s'