Php 使背景图像SVG像内联元素一样工作

Php 使背景图像SVG像内联元素一样工作,php,html,css,svg,Php,Html,Css,Svg,我有这样一个文本文件 A A+ ABAP ABC ABCL ActionScript ActiveBasic Ada Advanced Boolean Expression Language Agena AHDL ALGOL Alice ash APL AppleScript as Atom AutoIt AutoLISP AWK B Bash BASIC BCPL Befunge BF-BASIC'n Bioera BLISS Bluespec 我编写了一段代码,读取这个文本文件并将其内容用

我有这样一个文本文件

A
A+
ABAP
ABC
ABCL
ActionScript
ActiveBasic
Ada
Advanced Boolean Expression Language
Agena
AHDL
ALGOL
Alice
ash
APL
AppleScript
as
Atom
AutoIt
AutoLISP
AWK
B
Bash
BASIC
BCPL
Befunge
BF-BASIC'n
Bioera
BLISS
Bluespec
我编写了一段代码,读取这个文本文件并将其内容用作SVG文本元素的内容。我编写了PHP代码,以便随机确定文本元素的颜色

<?php
define("MAX", 1000);
$languages = "";
$data = file("text.txt", FILE_IGNORE_NEW_LINES);
for ($i = 0; $i < MAX; $i++) {
  $languages .= "<text x='0' y='15' fill='%23". sprintf("%06x",rand(0,0xffffff))  ."' font-size='20'>". $data[rand(0, count($data) - 1)] . " </text>";
}
?>
<!DOCTYPE html>
<html lang="ja">

<head>
  <meta charset="utf-8">
  <title></title>
  <style>
    body {
      background-image:url("data:image/svg+xml;utf8, <svg xmlns='http://www.w3.org/2000/svg' version='1.1' height='50px' width='120px'><?= $languages ?></svg>");
    }
  </style>
</head>

<body style="background-color:#DDD;">
  <div class="box"></div>
</body>

</html>
我希望上面代码中的文本元素可以像下面代码中的span元素一样排列

ActiveBasic高级布尔表达式语言AutoLISP as Agena BLISS 碱性原子A ABAP ABAP活性碱性 爱丽丝 基本Befunge AutoIt Alice AppleScript AppleScript 像 BF-BASIC'n A+动作脚本Bash动作脚本Befunge APL 碱性原子ABC活性碱性灰分AutoLISP 爱丽丝 AWK AppleScript BLISS作为B代理 艾达 高级布尔表达式语言AppleScript Bluespec Bluespec AutoIt A. ActionScript AutoLISP BASIC Agena Bluespec as 阿尔戈尔 蓝调A+AHDL极乐AHDL 降临 灰分A+AHDL ABAP原子 像 BCPL ActionScript ABCL AppleScript AutoIt Agena AutoLISP B Biora Bluespec AppleScript Ada AutoLISP Ada AppleScript Ada A+Bluespec ALGOL AWK Bioera Agena as AWK 蓝皮 祝福一个APL ABCL Ada原子 爱丽丝 AutoIt APL作为APL AutoIt ActiveBasic 成为一名艾丽丝·阿普雷斯科特·阿达·布鲁斯佩克 BF-BASIC'n Befunge A ABAP Bash ActiveBasic AHDL作为爱丽丝是一个幸福的爱丽丝 Bluespec APL AutoLISP Alice B Befunge ALGOL原子自动生成ABC A+ AutoIt ABAP ALGOL高级布尔表达式语言A A+Ada灰原子符合AppleScript Bluespec Ada基本高级布尔表达式语言ABAP BCPL ABAP AHDL BLISS ABAP BCPL
Atom Ada ALGOLSVG没有像HTML那样的自动布局。它是一种图形语言,要求您指定其中所有对象的位置和大小

只要您的SVG只在浏览器中显示,您就有一个选项。您可以使用在SVG中嵌入一些HTML

ActiveBasic高级布尔表达式语言AutoLISP as Agena BLISS 碱性原子A ABAP ABAP活性碱性 爱丽丝 基本Befunge AutoIt Alice AppleScript AppleScript 像 BF-BASIC'n A+动作脚本Bash动作脚本Befunge APL 碱性原子ABC活性碱性灰分AutoLISP 爱丽丝 AWK AppleScript BLISS作为B代理 艾达 高级布尔表达式语言AppleScript Bluespec Bluespec AutoIt A. ActionScript AutoLISP BASIC Agena Bluespec as 阿尔戈尔 蓝调A+AHDL极乐AHDL 降临 灰分A+AHDL ABAP原子 像 BCPL ActionScript ABCL AppleScript AutoIt Agena AutoLISP B Biora Bluespec AppleScript Ada AutoLISP Ada AppleScript Ada A+Bluespec ALGOL AWK Bioera Agena as AWK 蓝皮 祝福一个APL ABCL Ada原子 爱丽丝 AutoIt APL作为APL AutoIt ActiveBasic 成为一名艾丽丝·阿普雷斯科特·阿达·布鲁斯佩克 BF-BASIC'n Befunge A ABAP Bash ActiveBasic AHDL作为爱丽丝是一个幸福的爱丽丝 Bluespec APL AutoLISP Alice B Befunge ALGOL原子自动生成ABC A+ AutoIt ABAP ALGOL高级布尔表达式语言A A+Ada灰原子符合AppleScript Bluespec Ada基本高级布尔表达式语言ABAP BCPL ABAP AHDL BLISS ABAP BCPL 阿达戈尔原子
请注意,您可以使用sprintf%06x,rand0,0xffffff@NiettheDarkAbsol谢谢你给了我很好的知识!我的色码生成过程变得更加智能!我忽略了如何用foreignObject元素嵌入HTML。我可以用这个来实现目的。一个问题是嵌入在foreignObject元素中的HTML被浏览器解释为HTML,并与屏幕阅读器对话,即使它是背景。它至少没有写在中,但是foreignObject元素的行为是这样的吗?我认为您需要尝试一下。这将取决于如何在页面中包含SVG。就我使用开发工具检查可访问性树而言,我意识到屏幕阅读器没有读取嵌入在SVG中的HTML。非常感谢。