2010-04-06 54 views
1

我该如何将这个PHP函数包含在jquery.html中?jquery和PHP函数

PHP函数:

function trim_text($string, $limit, $break="<", $pad=" ...") 
{ 
$words = explode(' ', htmlentities(strip_tags($string))); 
$countr = count($words); 
if ($countr <= 8) 
{ 
return $string; 
}else{ 


// return with no change if string is shorter than $limit 
if(strlen($string) <= $limit) return $string; 
$string = substr($string, 0, $limit); 
if(false !== ($breakpoint = strpos($string, $break, $limit))) { 
if($breakpoint < strlen($string) - 1) { 

    $string = substr($string, 0, $breakpoint) . $pad; 
} 
} 
$last_space = strrpos(substr($string, 0, $limit), ' '); 
$string = substr($string, 0, $last_space); 
$string = strip_tags($string); 
return $string.$pad; 
} 
} 

和代码Jquery的一部分,我想在名“.html”部分以某种方式调用这个函数是:

$(" .text").html('<div>'+ message +'</div>'); 

我想要做的是装饰这个“消息”文本使用PHP函数。可能吗?

+0

你可以做一个ajax调用,将消息作为post参数传递给页面,让php解析并返回给你。一年后, – Ballsacian1 2010-04-06 10:41:19

回答

2

在您的JS中,将要修剪的文本发送到将进行修剪的脚本。服务器应发回修整的字符串,如:

var theText = $("#aTextarea").val(); 
$.post('trimscript.php', {text: theText}, function(response) { 
    $('.text').html('<div>' + response + '</div>'); 
}); 

在你的PHP,抢GET或POST变量,修剪它,并将它送回:

<?php 
if(isset($_POST['text']) && !empty($_POST['text'])) { 
    $text = trim_text($_POST['text']); 
    echo $text; 
} 
?> 

我认为这说明流动需要什么。当然,还有许多其他的方式来实现这一点,以上仅仅是一个简单的例子。

1

很多php函数都在javascript中被重写。你可以找到他们here

+0

,这个答案是有帮助的。非常酷的网站 – 2012-09-14 23:51:53

0

这将是好得多使用JavaScript来实现此功能。
如果此消息来自服务器,您可以在发送前修剪它