我有一个接受字符串的方法。这些字符串可以(但不必)包含HTML标记。
一个字符串可能包含也可能不包含嵌套的HTML标签。
在输出字符串之前,我需要将它们缩短为30个字符的长度。
示例:
'hi, i am some rather long text' // => 'hi, i am some rather long ...'
'<span class="someClass" id="someId">Some long text inside a html tag</span>' // => '<span class="someClass" id="someId">Some long text inside a ht...</span>'
'short string' // => 'short string'
我正在努力提出一些想法来实现此服务器端。 有任何线索吗?
答案 0 :(得分:-1)
在这种情况下,我会尝试使用纯字符串...因此,为了缩短php中的字符串,您可以使用php的substr方法,例如获取字符串的前5个位置
substr($str, 0, 5);
要从标签中使用纯字符串,可以使用以下regular expression(tutorial)
\>(.*?)\<
操作完成后,用preg_replace再次注入
如果您有嵌套标签,这种方法会有点麻烦,这不是问题的一部分;-)如果是这种情况,只需确定您是否有纯字符串或标签/嵌套标签并基于该用法普通操作或PHP DOMDocument class