php SELECT各自字体中的字体列表

时间:2014-12-11 20:32:42

标签: php css select fonts

我见过类似的问题,但没有真正的答案。 我已成功在本地目录中创建了一个下拉列表选择列表,允许用户选择随后用于生成标签的字体。 我试图让字体列表显示每个字体选项作为字体本身。 在明确说明每个选项的字体系列时,我已成功获得具有不同字体样式的选项列表。我有;但是,无法使其动态运行。

请使用以下代码,让我知道是否有任何语法问题,如果您有更好的想法......我愿意接受所有建议,并提前致谢。

  <?php
// open the current directory

$dhandle = opendir('/usr/share/fonts/truetype/ttf-dejavu/');
// define an array to hold the files
$files = array();

if ($dhandle) {
   // loop through all of the files
   while (false !== ($fname = readdir($dhandle))) {
      // if the file is not this file, and does not start with a '.' or '..',
      // then store it for later display
      if (($fname != '.') && ($fname != '..') &&
          ($fname != basename($_SERVER['PHP_SELF']))) {
          // store the filename
          $files[] = (is_dir( "./$fname" )) ? "(Dir) {$fname}" : $fname;
      }
   }
   // close the directory
  closedir($dhandle);
}
echo "<select name=\"fonts\">\n";
echo "<option name=\"tops\" value=\"\">Select Font</option>\n";
// Now loop through the files, echoing out a new select option for each one
foreach( $files as $fname )
 {
  echo "<option value=$fname STYLE=\"font-family: {$fname};src: local(\'explode (\'$files\')\');font-size : 14pt;\">$fname</option>\n";
 }
 echo "</select>\n";
?>

1 个答案:

答案 0 :(得分:0)

您可以尝试从此链接中嵌入谷歌字体:

http://www.google.com/fonts

这是做到这一点的方法:

假设你想要字体:Roboto

如果您点击字体项右下角的第二个图标,您将被重定向到您将提供此代码的页面:

<link href='http://fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'>

为了在您的网页上提供字体,您必须添加到<head></head>部分,并且:

font-family: 'Roboto', sans-serif;

要将字体应用于 CSS 声明中的元素,必须编写以下内容。

那么,你可以用这种方法做什么

1-选择您想要供用户选择的字体(有吨,你可以选择它们很有趣)

2-制作你的字体列表,将它们存储在数据库或 PHP

3-显示选择,以便用户可以选择字体:

$fonts = array("Roboto", "Oswald", "Indie Flower");

//head section
foreach($fonts as $font)
{
  echo "<link href='http://fonts.googleapis.com/css?family=".str_replace(" ", "+", $font)."' rel='stylesheet' type='text/css'>\n";
}

//body section
foreach($fonts as $font)
{
  echo "<option value=\"".$font."\" STYLE=\"font-family: ".$font.";\">".$font."</option>\n";
}

我想我不需要解释更多。但如果您有疑问,请随时问我任何问题。