Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 不同风格字符上的dompdf断字_Css_Dompdf_Word Break - Fatal编程技术网

Css 不同风格字符上的dompdf断字

Css 不同风格字符上的dompdf断字,css,dompdf,word-break,Css,Dompdf,Word Break,我正在尝试使用dompdf呈现文本。它应该与浏览器中的完全相同。只要单词的字符没有格式化,这就行了: 与HTML类似: <span style="color: #000000; font-family:'opensans'"> <p style="font-size: 30.57465524239px;"> This Text is a test to show the different behaviour! </p> <

我正在尝试使用dompdf呈现文本。它应该与浏览器中的完全相同。只要单词的字符没有格式化,这就行了:

与HTML类似:

<span style="color: #000000; font-family:'opensans'">
    <p style="font-size: 30.57465524239px;">
        This Text is a test to show the different behaviour!
    </p>
</span>
<span style="color: #000000; font-family:'opensans'">
    <p style="font-size: 30px;">
        This Text is a test to 
        <span style="color: #800080;">s</span>
        <span style="color: #ff0000;">h</span>
        <span style="color: #000080;">o</span>
        <span style="color: #003300;">w</span>  
        <span style="color: #000080;">t</span>
        <span style="color: #ff00ff;">h</span>
        <span style="color: #ff0000;">e
            <span style="color: #000000;">different behaviour!</span>
        </span>
    </p>
</span>

这篇文章是一个测试,以显示不同的行为!

不带格式的浏览器文本

dompdf无格式文本

但是如果我想给角色不同的样式,比如HTML:

<span style="color: #000000; font-family:'opensans'">
    <p style="font-size: 30.57465524239px;">
        This Text is a test to show the different behaviour!
    </p>
</span>
<span style="color: #000000; font-family:'opensans'">
    <p style="font-size: 30px;">
        This Text is a test to 
        <span style="color: #800080;">s</span>
        <span style="color: #ff0000;">h</span>
        <span style="color: #000080;">o</span>
        <span style="color: #003300;">w</span>  
        <span style="color: #000080;">t</span>
        <span style="color: #ff00ff;">h</span>
        <span style="color: #ff0000;">e
            <span style="color: #000000;">different behaviour!</span>
        </span>
    </p>
</span>

这篇课文是一个测试 s H o W T H E 不同的行为!

浏览器仍按预期方式显示它:

但是dompdf显示它就像
wordbreak:breakall将处于活动状态

我已经尝试添加
分词:保留全部到周围的
。我还尝试用另一个
元素来包围单词,但这并没有改变任何事情


因此,我的问题是,我如何让dompdf保持对带格式字符的单词的正常
分词规则?

现在我已经解决了一个PHP函数,它使用dompdf测量格式文本宽度,并在需要的地方添加必要的

这不是最好的解决方案,我希望有人能找到更好的解决方案。 但现在它对我有用,我会把它贴在这里,也许它会帮助别人

它采用以下格式的HTML代码:

<span style="color: #000000; font-family:'opensans'">
    <p style="font-size: 30.57465524239px;">
        This Text is a test to show the different behaviour!
    </p>
</span>
<span style="color: #000000; font-family: opensans; font-weight: normal; font-size: 30.57px;">T</span>
<span style="color: #000000; font-family: opensans; font-weight: normal; font-size: 30.57px;">h</span>
...
<span style="color: #000000; font-family: opensans; font-weight: normal; font-size: 30.57px;">t</span>
<br>
<span style="color: #000000; font-family: opensans; font-weight: normal; font-size: 30.57px;">t</span>
...

这篇文章是一个测试,以显示不同的行为!

并以以下形式返回HTML代码:

<span style="color: #000000; font-family:'opensans'">
    <p style="font-size: 30.57465524239px;">
        This Text is a test to show the different behaviour!
    </p>
</span>
<span style="color: #000000; font-family: opensans; font-weight: normal; font-size: 30.57px;">T</span>
<span style="color: #000000; font-family: opensans; font-weight: normal; font-size: 30.57px;">h</span>
...
<span style="color: #000000; font-family: opensans; font-weight: normal; font-size: 30.57px;">t</span>
<br>
<span style="color: #000000; font-family: opensans; font-weight: normal; font-size: 30.57px;">t</span>
...
T
H
...
T

T ...
它对我来说非常可靠,因为我的输入文本的格式总是完全相同的


它从内联样式标记中获取了最多的样式信息,从周围的
中获取了粗体信息。现在,我已经使用了一个PHP函数,它使用dompdf测量格式化的文本宽度,并在需要的地方添加必要的

这不是最好的解决方案,我希望有人能找到更好的解决方案。 但现在它对我有用,我会把它贴在这里,也许它会帮助别人

它采用以下格式的HTML代码:

<span style="color: #000000; font-family:'opensans'">
    <p style="font-size: 30.57465524239px;">
        This Text is a test to show the different behaviour!
    </p>
</span>
<span style="color: #000000; font-family: opensans; font-weight: normal; font-size: 30.57px;">T</span>
<span style="color: #000000; font-family: opensans; font-weight: normal; font-size: 30.57px;">h</span>
...
<span style="color: #000000; font-family: opensans; font-weight: normal; font-size: 30.57px;">t</span>
<br>
<span style="color: #000000; font-family: opensans; font-weight: normal; font-size: 30.57px;">t</span>
...

这篇文章是一个测试,以显示不同的行为!

并以以下形式返回HTML代码:

<span style="color: #000000; font-family:'opensans'">
    <p style="font-size: 30.57465524239px;">
        This Text is a test to show the different behaviour!
    </p>
</span>
<span style="color: #000000; font-family: opensans; font-weight: normal; font-size: 30.57px;">T</span>
<span style="color: #000000; font-family: opensans; font-weight: normal; font-size: 30.57px;">h</span>
...
<span style="color: #000000; font-family: opensans; font-weight: normal; font-size: 30.57px;">t</span>
<br>
<span style="color: #000000; font-family: opensans; font-weight: normal; font-size: 30.57px;">t</span>
...
T
H
...
T

T ...
它对我来说非常可靠,因为我的输入文本的格式总是完全相同的


它从内联样式标记中获取最多的样式信息,并从周围的

中获取粗体信息。这是一个DOMPF如何确定单词断开位置的问题。目前,该库没有任何机制来确定当内联元素中断时字符序列如何关联。您的解决方案目前可能效果最好。这是一个dompdf如何确定单词在何处断开的问题。目前,该库没有任何机制来确定当内联元素中断时字符序列如何关联。您的解决方案目前可能效果最好。