kodunda değilim Şu anda bir forum üzerinde çalışıyorum ve yazılarda tablo bulmak ve bunları BB Koduna dönüştürmek için normal ifadeleri kullanmak istiyorum. Bir web değerlendirici (http://regexr.com) kullandım ve düzenli bir ifade çalıştı. Ben POST aracılığıyla Senaryomun bu metni aktarmak ve <textarea>
Fakat bu desen ve var_dump
sonuç ile üzerine preg_match_all
kullanmakNormal İfade 2 farklı web değerlendiricisinde çalışır ancak
[table]
abc|def|gih
123|456|789
[/table]
:
/^(\[table\]\s*)^((?:[^\|\r\n]+[\|\n])+)^(\[\/table\])$/m
formun tabloları algılamak için kullanılır Sadece boş diziler alırım. Mantıksal olarak, değiştirme işlevleri de çalışmaz.
preg_match_all("/^(\[table\]\s*)^((?:[^\|\r\n]+[\|\n])+)^(\[\/table\])$/m", $_POST['test_string'], $tmp);
var_dump($tmp);
Bu
array(4) { [0]=> array(0) { } [1]=> array(0) { } [2]=> array(0) { } [3]=> array(0) { } }
PS verir: Ben regexr.com JS tabanlı olduğunu biliyoruz, bu yüzden denedim bir php tabanlı çok, mükemmel çalıştı nerede one.
Düzenleme: Katma codeSample PHP dizeleri kullanımı için normal ifadenin ters eğik çizgi kaçış gerekir
Bazı kodları gönderebilir misiniz? – gmfm
Bildiğim kadarıyla, herhangi bir dil dizelerde özel karakterden kaçınılmasını gerektirir. Yani ilk başta "\" yerine "\\" ile değiştirmeyi deneyin. Örneğin. "\ n" "yeni satır" anlamına gelir ve "\\" tek ters eğik çizgi demektir. –