Frage

I created a PHP page that show names from a table, there is some names is too long, I want to make if $name is 12 characters then replace what after 12 characters with ... this is my code

$query= mysql_query("SELECT * FROM `table`")or die(mysql_error());
while($arr = mysql_fetch_array($query)){
    $num = mysql_num_rows($query);
    $name= $arr['name'];
    echo '</br>';
    echo $name;
}

How can I do it?

War es hilfreich?

Lösung

Try:

$name = (strlen($arr['name']) > 12) ? substr($arr['name'],0,12) . "..." : $arr['name'];

This is a conditional assignment. If $arr['name'] is greater than 12 characters, then it truncates it to 12 characters and adds "...". Otherwise, it uses the full name.

Andere Tipps

if (strlen($name) > 12)
    $name = substr($name, 0, 12) . '...';

https://php.net/strlen

https://php.net/substr

You can do something like this:

if( strlen($arr['name']) > 12)
{
 substr($arr['name'],0,12)."...";
}

So, your code will look like:

$query= mysql_query("SELECT * FROM `table`")or die(mysql_error());
while($arr = mysql_fetch_array($query)){
$num = mysql_num_rows($query);
$name= $arr['name'];
echo '</br>';
if(strlen($name) > 12)
  {
  substr($name,0,12) . "...";
  }
}

You can do it like this:-

<?php
$mystring = "this is a test string to check that";

if( strlen($mystring) >= 12)
{
 $result= substr($mystring,0,12);
 $result .='...';
}
    echo $result;

?>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top