10/10/2018, 09:43

Giúp đỡ vấn để xuống dòng khoảng cách rất xa khi soạn thảo trên Editor WYSIWYG

Số là em đã loay hoay gần cả tuần nay để khắc phục cái editor đã đưa vào website. Hiện em đang xài cái wysiwyg editor. khi em soạn thảo văn bản trên IE nhấn enter thì xuống dòng không sao cả. Chỉ khi em dùng Firefox để soạn thảo văn bản khi nhấn enter xuống hàng thì nó có cái khoảng cách rất xa <p> hoặc <br><br><br><br> thường là vậy. Em đã tìm cách khắc phục nó nhưng không bít cái lỗi này do đâu. Vì vậy rất mong các bác chỉ giáo cho em. Cảm ơn các bác rất nhiều.
TheHeTre viết 11:45 ngày 10/10/2018
Ừhm. Anh chỉ qua YIM rồi mà.

Sử dụng preg_replace() để thay thế chuỗi nhiều <br> thành một <br> duy nhất.
Ví dụ:
PHP Code:
$str "Nhiều br quá! <br><br><br><br>";
$str preg_replace('/(<br>)+/''<br>'$str); 
ngoc_viet08 viết 11:45 ngày 10/10/2018
chắc là ko phải do bạn ấy enter nhiều quá .
có thể là do cái iframe soạn thảo đó có mặc định css khác nhau giữa IE và FF .
thử set css chung cho cái iframe soạn thảo coi .
natostr viết 11:49 ngày 10/10/2018
Nếu bác dùng tiny mce thì nguyên nhân là nó dùng thẻ <p> thay cho thẻ <br> khi bạn nhấn enter (tức là 1 đoạn pragrap (ko biết ghi đúng ko) mới). Trong joomla có cho phép thiết lập lại phần này: vào phần quản trị plugin chọn tiny mce, ở phần Plugin parameters bạn chọn BR element ở mục New Lines (mặc định là P element) rồi save lại là ok. Còn những cms khác hoặc do bạn tự viết thì mình không biết nhưng chắc cũng tương tự thôi.
motmang viết 11:56 ngày 10/10/2018
Hix em đâu có dùng joomla. code lượm lặt. rồi tự code. có nhờ thêm các anh ở đây chỉ dẫn nữa. nên ra được nó. ở dưới chữ ký đấy ạh. tiện thể các bác cho em hỏi em cái trang đăng ký thành viên của em có cái mã bảo mật. thế nhưng thỉnh thoảng trên firefox ko hiện lên được đóng nó lại, restart lại máy thì nó lại đc.
natostr viết 11:57 ngày 10/10/2018
Bạn chú ý 2 dòng in đậm màu đỏ nhé. Thay nó vào vị trí phù hợp trên đoạn code gọi tiny mce của bạn xem có hiệu quả không nhé.
Code:
tinyMCE.init({
			theme : "advanced",
			language : "en",
			mode : "textareas",
			gecko_spellcheck : "true",
			editor_selector : "mce_editable",
			document_base_url : "sample.com",
			entities : "60,lt,62,gt",
			relative_urls : 1,
			remove_script_host : false,
			save_callback : "TinyMCE_Save",
			invalid_elements : "applet",
			extended_valid_elements : "a[class|name|href|target|title|onclick|rel],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],,hr[id|title|alt|class|width|size|noshade]",
			theme_advanced_toolbar_location : "top",
			theme_advanced_source_editor_height : "550",
			theme_advanced_source_editor_width : "750",
			directionality: "ltr",
			force_br_newlines : "true",
			force_p_newlines : "false",
			content_css : "sample.com",
			debug : false,
			cleanup : true,
			cleanup_on_startup : false,
			safari_warning : false,
			plugins : "advlink, advimage, searchreplace,insertdatetime,emotions,media,advhr,table,fullscreen,directionality,layer,style",
			theme_advanced_buttons1_add : "fontselect",
			theme_advanced_buttons2_add : "search,replace,insertdate,inserttime,emotions,media,ltr,rtl,insertlayer,moveforward,movebackward,absolute,forecolor",
			theme_advanced_buttons3_add : "advhr,tablecontrols,fullscreen,styleprops",
			theme_advanced_disable : "help",
			plugin_insertdate_dateFormat : "%Y-%m-%d",
			plugin_insertdate_timeFormat : "%H:%M:%S",
			
			
			fullscreen_settings : {
				theme_advanced_path_location : "top"
			}
		});
		function TinyMCE_Save(editor_id, content, node)
		{
			base_url = tinyMCE.settings['document_base_url'];
			var vHTML = content;
			if (true == true){
				vHTML = tinyMCE.regexpReplace(vHTML, 'href\s*=\s*"?'+base_url+'', 'href="', 'gi');
				vHTML = tinyMCE.regexpReplace(vHTML, 'src\s*=\s*"?'+base_url+'', 'src="', 'gi');
				vHTML = tinyMCE.regexpReplace(vHTML, 'mce_real_src\s*=\s*"?', '', 'gi');
				vHTML = tinyMCE.regexpReplace(vHTML, 'mce_real_href\s*=\s*"?', '', 'gi');
			}
			return vHTML;
		}
Bài liên quan
0