line-breaks 相关问题

强制文本布局在下一行开始处继续的空白。

Wordpress 如何在转义 html 标签时使用换行符

我想将“欢迎来到 %s”和“感谢您在 %1$s 上创建帐户”分开,将它们分别显示在单独的行中。 他们目前在翻译短语时被挤在一起/搞乱了......

回答 2 投票 0

无法阅读带有 ' 的文本 ' 在 PhaserJS

我在 PhaserJS 3 游戏中显示了一个文本,然后 onEvent 方法循环运行,向当前文本添加新文本,它会一直工作,直到找到 ' ',但它根本没有给出任何错误。 函数创建(...

回答 1 投票 0

如何删除文件中的某些换行符

我有一个包含大约 70,000 条记录的文件,其结构大致如下: 01499 1000642 4520101000900000 ...更多数字... 104000900169 +字段名称1 -内容 +字段名称2 -孔蒂...

回答 1 投票 0

Rust 中如何获取当前平台的行尾字符序列?

我正在寻找一种在运行时获取平台行尾字符序列(Windows 的 CRLF,Linux/macOS 的 LF)的方法。

回答 2 投票 0

MVC C# 网站应用程序中使用的文本区域中的换行符

我在 Visual Studio Web Dev 中使用 ASP.net MVC C#。我有几个文本区域,其中填充了数据,然后更新为数据库记录。 是否可以在

回答 10 投票 0

React-Native flexWrap 不适用于 Android 上的文本

有一个简单的包装视图,左侧是动态文本,右侧是静态绿色视图。我正在尝试使用 flexWrap 样式使其自动移动文本下方的静态绿色视图...

回答 1 投票 0

更改 RMarkdown PDF 中的单元格值和换行符

我有以下数据集: 结构(列表(...1 = c(“加泰罗尼亚”,“PIB”,“内部需求1”, “外部需求1”、“西班牙”、“PIB”、“

回答 1 投票 0

如何在 LaTeX 多列标题中添加换行符?

我有以下居中的乳胶表格: \multicolumn{1}{|c|}{\large

回答 0 投票 0

如何使用 Vim 根据模式将文本拆分为多行?

假设你有这样的文字: name1 = "约翰";年龄1 = 41; name2 = "简";年龄2 = 32; name3 = "迈克";年龄3=36; ... 并且您希望将每一行分成两行以给出如下结果: 名称1 =“

回答 2 投票 0

VS code 集成终端中出现意外的反斜杠和换行符

从 VS Code 集成终端使用 Git Bash(oh-my-zsh 和 p10k)时,按 ENTER 后,我的提示符前面会出现一个反斜杠,当有 p10k elem 时,我会出现意外的换行符...

回答 1 投票 0

在空间位置附近切割字符串

我有一个给定字符串的空格位置数组,如下所示: [3, 7, 11, 18, 24, 29, 34, 45, 50, 55, 59, 67, 70, 75, 80, 84, 90, 93, 97, 108], 我有一个值数组,它们是边界...

回答 1 投票 0

Google 表格 - 查询 - 换行符

我有这个查询公式: IF(A8="","",IFNA(ARRAYFORMULA(TEXTJOIN(", ",TRUE,QUERY(Sheet6!B5:K,"选择 F、I、J、K,其中 C = 日期'" & TEXT(A8, “yyyy-嗯...

回答 1 投票 0

断字图例 - eCharts

我想打破饼图的图例文本行。 我尝试按照echarts网站的文档进行操作,但没有成功。 传奇: { 东方:'垂直', 左:“50%”, ...

回答 2 投票 0

我怎样才能完全禁用水平滚动系统

在此处输入图像描述当我一行太长时,我的完整编辑器会水平变大并且出现滚动条(如第一张图像) 在此输入图像描述 我希望长线会在多个中中断...

回答 2 投票 0

创建 xml 文档时 Excel 无法识别换行符

我正在尝试在 MUMPS 中编写 XML 代码,以便在 Excel 中使用。这是我的 MUMPS 代码: s incResStr=incResStr_[newData]+" ” 基本上将数据连接成字符串并在之间添加换行符...

回答 1 投票 0

循环数据框并向 R 中的单元格添加文本

以R中的ToothGrowth数据集为例,我使用了ToothGrowth$comment <- "Comment 1" to create a Comment column with this format: len supp dose comment 1 4.2 VC 0.5 Comm...

回答 1 投票 0

保留文本区域中的换行符

我有一个带有文本区域的表单,我想在输出内容时保留用户输入的换行符。 例如,如果我在 textarea 中写入: 这里有一句话。这是另一个。她...

回答 5 投票 0

换行时强制清空<span>到下一行

以下代码片段为我生成了这个结果: 我的目标是让第一个 foo 留在原来的行,第二个 foo 位于下一行。 如果“空间”...

回答 1 投票 0

如何在 LOG 语句后添加换行符/空行?

我想在 LOG 语句后添加一个空行,以使我的日志更加分离和可读。 我该怎么做呢? 目前的声明: LOGGER.info("人的名字是 {} 。", person.getNam...

回答 2 投票 0

如何在 javascript 中对 svg 文本进行换行?

所以这就是我所拥有的: 这就是我所拥有的: <path class="..." onmousemove="show_tooltip(event,'very long text \\\n I would like to linebreak')" onmouseout="hide_tooltip()" d="..."/> <rect class="tooltip_bg" id="tooltip_bg" ... /> <text class="tooltip" id="tooltip" ...>Tooltip</text> <script> <![CDATA[ function show_tooltip(e,text) { var tt = document.getElementById('tooltip'); var bg = document.getElementById('tooltip_bg'); // set position ... tt.textContent=text; bg.setAttribute('width',tt.getBBox().width+10); bg.setAttribute('height',tt.getBBox().height+6); // set visibility ... } ... 现在我的很长的工具提示文本没有换行符,即使我使用alert();它告诉我文本实际上有两行。 (虽然它包含一个“\”,我该如何删除它?) 我无法让 CDATA 在任何地方工作。 这不是 SVG 1.1 支持的。 SVG 1.2 确实有 textArea 元素,具有自动换行功能,但并非在所有浏览器中都实现。 SVG 2 不打算实现 textArea,但它确实有 自动换行文本。 但是,鉴于您已经知道应该在哪里换行,您可以将文本分成多个 <tspan>,每个x="0" 和 dy="1.4em" 来模拟实际的文本行。例如: <g transform="translate(123 456)"><!-- replace with your target upper left corner coordinates --> <text x="0" y="0"> <tspan x="0" dy="1.2em">very long text</tspan> <tspan x="0" dy="1.2em">I would like to linebreak</tspan> </text> </g> 当然,由于您想通过 JavaScript 执行此操作,因此您必须手动创建每个元素并将其插入到 DOM 中。 我想你已经设法解决了它,但如果有人正在寻找类似的解决方案,那么这对我有用: g.append('svg:text') .attr('x', 0) .attr('y', 30) .attr('class', 'id') .append('svg:tspan') .attr('x', 0) .attr('dy', 5) .text(function(d) { return d.name; }) .append('svg:tspan') .attr('x', 0) .attr('dy', 20) .text(function(d) { return d.sname; }) .append('svg:tspan') .attr('x', 0) .attr('dy', 20) .text(function(d) { return d.idcode; }) 有 3 行用换行符分隔。 使用 tspan 解决方案,假设您事先不知道在哪里放置换行符:您可以使用我在这里找到的这个不错的函数: http://bl.ocks.org/mbostock/7555321 自动为给定宽度(以像素为单位)的长文本 svg 进行换行。 function wrap(text, width) { text.each(function() { var text = d3.select(this), words = text.text().split(/\s+/).reverse(), word, line = [], lineNumber = 0, lineHeight = 1.1, // ems y = text.attr("y"), dy = parseFloat(text.attr("dy")) || 0, tspan = text.text(null).append("tspan").attr("x", 0).attr("y", y).attr("dy", dy + "em"); while (word = words.pop()) { line.push(word); tspan.text(line.join(" ")); if (tspan.node().getComputedTextLength() > width) { line.pop(); tspan.text(line.join(" ")); line = [word]; tspan = text.append("tspan").attr("x", 0).attr("y", y).attr("dy", ++lineNumber * lineHeight + dy + "em").text(word); } } }); } 使用 HTML 而不是 javascript 限制:SVG渲染器必须支持HTML渲染 例如,inkscape 无法渲染此类 SVG 文件 <html> <head><style> * { margin: 0; padding: 0; } </style></head> <body> <h1>svg foreignObject to embed html</h1> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300" x="0" y="0" height="300" width="300" > <circle r="142" cx="150" cy="150" fill="none" stroke="#000000" stroke-width="2" /> <foreignObject x="50" y="50" width="200" height="200" > <div xmlns="http://www.w3.org/1999/xhtml" style=" width: 196px; height: 196px; border: solid 2px #000000; font-size: 32px; overflow: auto; /* scroll */ " > <p>this is html in svg 1</p> <p>this is html in svg 2</p> <p>this is html in svg 3</p> <p>this is html in svg 4</p> </div> </foreignObject> </svg> </body></html> 我认为这符合你的要求: function ShowTooltip(evt, mouseovertext){ // Make tooltip text var tooltip_text = tt.childNodes.item(1); var words = mouseovertext.split("\\\n"); var max_length = 0; for (var i=0; i<3; i++){ tooltip_text.childNodes.item(i).firstChild.data = i<words.length ? words[i] : " "; length = tooltip_text.childNodes.item(i).getComputedTextLength(); if (length > max_length) {max_length = length;} } var x = evt.clientX + 14 + max_length/2; var y = evt.clientY + 29; tt.setAttributeNS(null,"transform", "translate(" + x + " " + y + ")") // Make tooltip background bg.setAttributeNS(null,"width", max_length+15); bg.setAttributeNS(null,"height", words.length*15+6); bg.setAttributeNS(null,"x",evt.clientX+8); bg.setAttributeNS(null,"y",evt.clientY+14); // Show everything tt.setAttributeNS(null,"visibility","visible"); bg.setAttributeNS(null,"visibility","visible"); } 它在 \\\n 上分割文本,并将每个片段放入一个 tspan 中。然后它根据文本的最长长度和行数计算所需框的大小。您还需要更改工具提示文本元素以包含三个 tspan: <g id="tooltip" visibility="hidden"> <text><tspan>x</tspan><tspan x="0" dy="15">x</tspan><tspan x="0" dy="15">x</tspan></text> </g> 这假设您的行数永远不会超过三行。如果您想要超过三行,您可以添加更多 tspan 并增加 for 循环的长度。 我对@steco 的解决方案进行了一些调整,将依赖项从 d3 切换到 jquery 并将文本元素的 height 添加为参数 function wrap(text, width, height) { text.each(function(idx,elem) { var text = $(elem); text.attr("dy",height); var words = text.text().split(/\s+/).reverse(), word, line = [], lineNumber = 0, lineHeight = 1.1, // ems y = text.attr("y"), dy = parseFloat( text.attr("dy") ), tspan = text.text(null).append("tspan").attr("x", 0).attr("y", y).attr("dy", dy + "em"); while (word = words.pop()) { line.push(word); tspan.text(line.join(" ")); if (elem.getComputedTextLength() > width) { line.pop(); tspan.text(line.join(" ")); line = [word]; tspan = text.append("tspan").attr("x", 0).attr("y", y).attr("dy", ++lineNumber * lineHeight + dy + "em").text(word); } } }); } 有关的解决方案不适用于我的情况,因为我需要在我的 React 应用程序中使用动态解决方法(特别是我在多语言应用程序上工作,每种语言文本的断线也可能不同)。因此,我在需要换行的文本中使用了 \n,然后使用 map 方法使用 tspan 元素创建多行文本,其中我们有一个新行。 const SvgComponent = ({ text }) => { // Split the text into an array of lines based on line breaks ("\n") const lines = text.split('\n'); return ( <svg width="200" height="200"> {lines.map((line, index) => ( // Use your desired x and y coordinates and line space <text key={index} x="10" y={10 + index * 20}> <tspan>{line}</tspan> </text> ))} </svg> ); }; export default SvgComponent; 当您将带有换行符的文本作为 text prop 传递给此组件时,它将在 SVG 中的新行上渲染每行文本。例如: <SvgComponent text="Line 1\nLine 2\nLine 3" />

回答 7 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.