tags:

views:

40

answers:

4

How can I this PHP function include in jquery .html?

PHP function:

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;
}
}

And the Jquery part of code where I want to in ".html" part somehow call this function is:

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

What I want to do is trim this "message" text using PHP function. Is it possible?

A: 

a lot of php function have been rewritten in javascript. you can find them here

mathroc
A: 

It would be much better to implement this function using javascript.
If this message coming from the server, you can trim it before sending

Col. Shrapnel
+2  A: 

In your JS, send the text to be trimmed to the script which will do the trimming. The server should send back the trimmed string, e.g.:

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

In your PHP, grab the GET or POST variable, trim it, and send it back:

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

I think that describes the flow of what's needed. Of course, there are numerous other ways to implement this, the above is merely a simple example.

karim79
Thanks Karim ..
Sergio
A: 

Simple method:

<script type="text/javascript">
    var myvar = <?php echo $my_php_var ?>
</script>

Ajax method:

<script type="text/javascript">
    var myvar = jQuery.get('YOUR_AJAX_URL');
</script>
gmunkhbaatarmn