\\

2011-06-28 8 views
6

Neyin amacı bu kaçış sırasını merak ediyordum. PHP Manual\e "kaçış" temsil ettiğini söylüyor Eh, ben googled ve yaklaşık ANSI ben bu \e onları işaret ederse bilmiyorum , Dizileri Escape buldum. Vikipedi\

:

ANSI çıkış dizileri biçimlendirme, renk ve video metin terminalleri üzerindeki diğer çıktı seçeneklerini kontrol etmek için kullanılan metin gömülü karakterlerdir.

Ancak bu kaçış sıralarının ve PHP'nin nasıl etkileşimde olduğunu göremiyorum. Gönderdiği tüm şeylerin doğru olup olmadığını bilmiyorum.

Birisi bu konu hakkında konuşup örnek gösterebilir mi?

+3

Lütfen etiketleri başlığa koymayın. – SLaks

+0

Üzgünüz, bu soruyu sorduğunuz için teşekkür ederiz, – nEAnnam

+0

+1. Şimdi sonunda imleci nasıl taşıyacağımı biliyorum. :) –

cevap

8

PHP sadece bir web sunucusuyla kullanılamaz; PHP komut bu gibi komut satırından çalıştırabilirsiniz:

$ php foo.php 

bir komut satırından (CakePHP ile hangi gemiler mesela cake komutu) çalıştırmak için kastedilmektedir bir PHP komut dosyası yaparsa, \e kullanışlı gelebilir Terminal emülatörlerinde renk ve biçimlendirme yapmak istediğinizde.

Bu çıkış sıraları hakkında daha fazla bilgiyi this page adresinde bulabilirsiniz.

+0

Teşekkür ederim, bahsettiğim şey bu. – nEAnnam

0

Düzenli ifadeler için (preg_replace gibi) kılavuza bakıyorsunuz. Yani, PHP'nin onlarla nasıl etkileşimde bulunabileceği sorusu oldukça basittir: eğer bir metniniz varsa ve bir dizgeyi bulmak, değiştirmek, eşleştirmek istiyorsanız, o zaman bir kaçış karakteri, diğer karakterler gibi "etkileşimli" olabilir.

+0

Ama PHP dizilerinde ANSI esacpe secuences yok – nEAnnam

0

Çok fazla kaçış var.

\b

: backspace
\n: Yeni hat
\r: Sert dönüş
\e: kaçış
vesaire ... bunlar çıkış olduğunda Hepsi farklı şeyler yapmak

.

0

karakter \e dizisi ASCII (ve UTF-8 ve diğer ASCII uyumlu kodlamaları) içerisinde ESC character, 0x1B temsil PHP tarafından kullanılır. Yazdırılabilir karakterlerle (yani, \ ve e, bu durumda), non-printing characters'u temsil etmenin bir yolu olması yararlıdır, çünkü bu tür karakterleri standart bir klavyeyle yazmak kolay değildir (sadece ekranda okuyabilirsiniz). Bu diziler genellikle "kaçış dizileri" olarak adlandırılır.

Eğer normal bir ifade yazma ve, bunu. Diğer \... dizileri benzer karakterler ve kümelerini temsil yapmak \e kullanabilirsiniz ESC karakterine uyacak istiyorsanız eğer sadece" söylediğini bağlantı veriyor manuel sayfa doğrudan giriş yapmak zor olan karakterler.

Eğer keşfedilen ESC, bir çok kullanım alanı vardır ... bir veya daha fazla Select Graphic Rendition codes (ara olduğu onları böyle \e[...m yaygın olarak renk eklemek için bir komut satırı programının çıkışını değiştirmek için kullanılan sekanslar, kaçış ANSI arasında Bu sayfada "SRG" için). Bu, PHP'ye özgü değildir; Bu çıkış dizilerini anlayan, yürütme programı değil, terminaldir. Uygun bir terminalde uygun bayt dizilerini çıkaran herhangi bir program (herhangi bir dilde yazılmış) bu davranışı tetikleyecektir.

$ echo -e '\e[31mRED TEXT\e[m' 
$ echo -e '\e[42mGREEN BACKGROUND\e[m' 
$ echo -e '\e[5mBLINKING?\e[m' 

En terminalleri kırmızı ilk komutunun çıktısını stil olacak ve yeşil arka planda ikinci:

Sen terminalde aşağıdaki komutları çalıştırmayı deneyin Bash kolayca bu davranışı görebilirsiniz. Ancak birçok terminal kasıtlı HTML <blink> etiketi genellikle desteklenmeyen aynı nedenle, yanıp sönen metin değil destek yapmak - bu can sıkıcı :)

farklı bağlamlarda bir dizi kullanılır, dönem "dizisi kaçış" Söylemeye gerek yok biraz farklı şeyler demek. Fakat genel olarak bir kaçış dizisi, karakterlerin ötesinde belirli bir anlamı olan bazı özel karakter dizisidir.