Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > มีปัญหาอยากจะถามหน่อยครับ เกี่ยวกับโปรแกรมการตัดคำ



 

มีปัญหาอยากจะถามหน่อยครับ เกี่ยวกับโปรแกรมการตัดคำ

 



Topic : 103560



โพสกระทู้ ( 0 )
บทความ ( 0 )



สถานะออฟไลน์




คือเอามี code แรก คือ ป้อนไฟล์

Code (PHP)
<form action="index2.php" method="post" name="form1" id="form1">
 	Insert Text : <br />
 <textarea name="text" rows="5" id="text" style="width:100%"></textarea><br />
  <input type="submit" name="Submit" id="Submit" value="Submit" />&nbsp;&nbsp; &nbsp; &nbsp;  <input type="Reset" name="Reset" id="Reset" value="Reset" /><br /><hr />
</form>


ต่อไปคือ เราใช้โปรแกรมตัดคำอะครับ

Code (PHP)
<?php
if($_POST["text"]!= ""){
	function swath($input_text){
		$input_filename= "test.txt";
		$output_filename= "output.txt";
		$input_text = iconv('UTF-8', 'TIS-620', trim($input_text));
		file_put_contents($input_filename, $input_text);
		system( SWATH .'/swath.exe -b "&nbsp" -d ' . SWATH . '/swath -m long < ' . $input_filename . ' > ' . $output_filename); 
		$raw = file_get_contents($output_filename);
		$raw = iconv('TIS-620', 'UTF-8', rtrim($raw));
		unlink($input_filename);
		unlink($output_filename);
		return $raw;
	}//END FUNC SWATH
        function multiexplode ($delimiters,$string) {
		$ready = str_replace($delimiters, $delimiters[0], $string);
		$launch = explode($delimiters[0], $ready);
		return  $launch;
	}
        $trim = str_replace( " ", "",  ($_POST["text"]) );
        $w = swath ($trim);  
        $ex = multiexplode(array("&nbsp"),$w);
 
        }


แล้วเราอยากให้มันแสดงผล
เช่น ลักษณะของผู้ที่มี ความสามารถด้านการ เรียนภาษาให้เก่ง เป็นผู้ที่มีความสามารถทางด้านการอ่าน
เป็น ลักษณะ ของ ผู้ ที่ มี ความ สามารถ ด้าน การ เรียน
ภาษา ให้ เก่ง เป็น ผู้ ที่ มี ความ สามารถ ทาง ด้าน การ อ่าน
ให้พอถึงประมาณหนึ่่ง มันจะตัดบรรทัดการตัดคำ

อีกอย่าง คืออยากเอา แต่ละคำที่ได้มาทำเป็น check box ให้ผู้ใช้เลือกว่าจะเอาคำไหนบ้าง

แล้วเรามีไฟล์ Code (PHP)
Code (PHP)
[php]<?php
if($_POST["q"]!=""){
	//echo $_POST["q"];
	echo $_POST["q"] ."<hr / >";
	$q = trim( $_POST["q"] );
	if( ord ( $q ) > "160" and ord ( $q ) < "250"){
	  $url = "http://th.asianwordnet.org/services/dictionary/xml/th2en/".urlencode($q);
	}else{
	  $url = "http://th.asianwordnet.org/services/dictionary/xml/en2th/".$q;
	}		
	$page = file_get_contents($url);
	$xml = simplexml_load_string($page);
	$str = "";

	if($xml->rows > 0){
		foreach($xml->data->item as $key => $item){
			if($item->words != ""){
				if( $item->ss_type == "n" ){
					$str .= $item->words;
					$str .= ", ";
					if($item->translate){
						$str .= $item->translate;
						$str .= ", ";
					}//END IF
				}//END IF
				else{
					echo "ไม่ใช่คำนาม" ."<br />";
				}
			}//END IF
		}//END foreach
	}//END IF
	

	function multiexplode ($delimiters,$string) {
		$ready = str_replace($delimiters, $delimiters[0], $string);
		$launch = explode($delimiters[0], $ready);
		return  $launch;
	}	
	$ex = multiexplode(array( " ", "," ),$str);
	$stack = array( );	
	for($b=0; $b <= count($ex); $b++){
	   if( $ex[$b] != "" ){
			array_push( $stack, $ex[$b]);
	   }
	}
	
	
	
	
	
	echo "<pre>";
	print_r($stack);
	echo "</pre><hr>";
	foreach ($stack as $value) {
		$link = "http://th.wikipedia.org/wiki/".$value;
		echo "<a href=".$link.">". $value ."</a><br>";
	}

	
}//END IF
?>

[/php]
ข้างบน ไฟล์ต้นฉบับ เป้นการ input ทีละคำอะ เราอยากเอาคำที่เราตัดมา ง่ายๆ เชื่อมจากไฟล์ก่อนหน้า ต้องทำไงอะครับ อยากให้มันรับค่าจาก check box ถามเยอะไปไหม =.=



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-12-13 05:06:35 By : conankungz View : 1086 Reply : 4
 

 

No. 1



โพสกระทู้ ( 2,258 )
บทความ ( 5 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook Hi5 Blogger

ผมว่าถ้าข้อความติดกันเลยยากนะครับในการจะตัดออกมา นอกเสียจากว่ามีการเก็บ ข้อความไว้เพื่อเปรียบเทียบอยู่แล้ว เช่นคำว่า แล้ว สมมุติข้อความเป็น "ถ้าเป็นแบบนี้แล้วเราเลิกกันเถอะ" แล้วเราก็เปรียบเทียบเพื่อตัดคำว่า "แล้ว" ออกมา ไปทำเป็น checkbox อะไรก็ว่าไป

ผมเลยอยากแนะนำว่า ถ้าเราจะตัดเป็นประโยคเอาจะได้ไหม และจะได้ง่ายขึ้นด้วย หรือจะตัดเป็นคำก็ต้องคั่นด้วยอะไรสักอย่างนึงเพื่อที่จะได้เอาไปตัดได้ถูก อาจจะเป็นช่องว่าง หรืออะไรก็ว่าไป

เช่น ลักษณะของผู้ที่มี ความสามารถด้านการ เรียนภาษาให้เก่ง เป็นผู้ที่มีความสามารถทางด้านการอ่าน

จากนั้นก็ใช้ explode ในการแยกออกมา แล้วไปวนลูปแสดงเป็น checkbox ตามที่คุณต้องการ ถ้าไม่ใช่แบบที่ต้องการก็รอท่านอื่นนะครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-13 10:18:22 By : Manussawin
 


 

No. 2



โพสกระทู้ ( 1,994 )
บทความ ( 10 )



สถานะออฟไลน์
Facebook Blogger

Quote:
ลักษณะ ของ ผู้ ที่ มี ความ สามารถ ด้าน การ เรียน
ภาษา ให้ เก่ง เป็น ผู้ ที่ มี ความ สามารถ ทาง ด้าน การ อ่าน

1. อยากเอา แต่ละคำที่ได้มาทำเป็น check box ให้ผู้ใช้เลือกว่าจะเอาคำไหนบ้าง
>> แยกข้อความด้วยช่องว่าง
>> ใช้ foreach วนลูปสร้าง <input type="checkbox" name="myword" value="$xxxx" />


2. จะรับค่าจาก checkbox
>> ถ้าส่ง POST ก็อ่านจากตัวแปร $_POST['myword']
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-13 13:26:07 By : {Cyberman}
 

 

No. 3

Guest


อิอิ มาตามเก็บ swath กับ web service ไปเล่นมั้ง

ปล. ทำได้ขนาดนี้แค่ลูปเพิ่ม checkbox เข้าไปไม่ใช่เรื่องยากแล้ว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-13 15:25:44 By : ห้ามตอบเกินวันละ 2 กระทู้
 


 

No. 4



โพสกระทู้ ( 0 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 2 เขียนโดย : {Cyberman} เมื่อวันที่ 2013-12-13 13:26:07
รายละเอียดของการตอบ ::
อยากได้ code อะครับ ช่วยหน่อยได้ไหม เอาไว้ตรงไหน มัน error อ่า

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-12-16 22:30:07 By : conankungz
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : มีปัญหาอยากจะถามหน่อยครับ เกี่ยวกับโปรแกรมการตัดคำ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่