09/10/2018, 23:28

Hightlight code with WYSIWYG

chào các bạn, cute có 1 problem như sau:

Khi sử dụng PEAR Text Highlighter trong TextArea để hightlight 1 đoạn code PHP thì bình thường nhưng khi sử dụng (POST hay xuất ra màn hình) trong 1 WYSYWYG nào đó thì ko được. Bởi vì khi ta viết:
<?php
echo "Hi, cute";
?>
thì nó sẽ tự động thêm vào thành như sau:
<p><?php</p><p>echo "hi"; </p><p>?></p>
Vì thế PEAR Text Highlighter sẽ hiển thị y hệt như vậy, chỉ có khác màu như khi đã hightlight.

Mọi người có góp ý gì cho cute nha? Đang vướng ở chổ này.
jiSh@n viết 01:32 ngày 10/10/2018
Muốn thêm php code hay html code vào text area thì trước hết phải tắt WYSIWYG trước, hoặc phải gõ trực tiếp vào tab HTML source của nó. Bạn hãy thử dùng Dreamweave, gõ trong HTML trong chế độ Design view rồi quay về Code view để xem thử kết quả nhé
cute viết 01:38 ngày 10/10/2018
ko ko, bạn hiểu sai ý của mình rồi! Giống như bạn post 1 tutorial trên Web dùng 1 WYSIWYG nào đó (TinyMCE, Xinha...) thì cute muốn những đoạn trong <?php ?> sẽ hightlight
jiSh@n viết 01:34 ngày 10/10/2018
Khi bạn thêm code html hay php vào textarea có WYSIWYG, nó sẽ bị tự động format sang dạng html tương ứng, ko còn là code nguyên thủy nên Highlighter sẽ ko nhận ra để format đúng đâu.
Cụ thể TinyMCE sẽ format
Code:
<?php 
?>
thành
Code:
&lt;php
?&gt;
các đoạn xuống dòng sẽ được cho vào tag <p></p>....
Sau khi submit thì bạn ko nhận được đoạn text như mong muốn. Do đó để khác phụ bạn chỉ có 2 cách:
1. tắt WYSIWYG trước khi thêm code
2, Xử lý sau khi submit: tách đoạn code ra dùng htmlspecialchars_decode để biến nó trở thành dạng ban đâu.
cute viết 01:44 ngày 10/10/2018
OK, mình sẽ thử, nhưng cái khó là phải tác đúng chỗ. Nếu có kết quả sẽ báo với bạn sau.
Bài liên quan
0