[英]Splitting html string after so many words
我有一个字符串,如果该字符串的长度大于10个单词,我想将其分为两部分。 第二部分将包含在其他位置,在“更多”链接之后。
该字符串也将包含html标签。 例如,字符串可以是:
<p>This is just a test string with more words than the <strong>amount allow</strong> before split, blah blah blah</p>
因此,在这种情况下,我想要:
$string[0] // <p>This is just a test string with more words than</p>;
$string[1] // <p>the <strong>amount allow</strong> before split, blah blah blah</p>;
提前致谢
好吧,我遇到了同样的问题。 我解决了这个问题,让我的新闻撰稿人允许在其文本中使用“ [intro ... [/ intro]”-Tags)。 然后,我用正则表达式解析标签。
如果应该在不使用特殊标签的情况下自动进行切割,则难度会更大。 您可以使用substr()
函数。 但是,那么您将在html标签上遇到问题。 因此,我也会用类似以下内容的方法来削减它们: substr(strip_tags($text), 0, 50)
。 这将允许显示50个字符,不包括html标签。
也许这可以帮助您:)
这不是小事,但是有一个主意:
$inTag
–是否在标签内 $inAttribute
–是否在标签属性内(其中“>”不结束标签) $currentTagSoFar
–当前标签的所有字符。 将以“ s”开头,然后是“ st”,“ str”等,直到“ strong” $openedTags
–堆栈变量,用于放置当前打开的标签(在找到开始标签时按下,在找到结束标签时弹出) $wordsSoFar
–到目前为止找到的单词数 $insideComment
,这取决于您想要多彻底
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.