【发布时间】:2014-10-29 16:08:57
【问题描述】:
如何在 500 字后插入一些字符串到 html 中? (不要破坏 html 标签)
function insert_string($text,$length,$insert) {
preg_match_all('/<[^>]+>([^<]*)/',$text,$m,PREG_OFFSET_CAPTURE|PREG_SET_ORDER);
foreach($m as $i=>$o){
if($o[0][1]-$i>=$length)
break;
$t=substr(strtok($o[0][0]," \t\n\r\0\x0B>"),1);
// ... can not think how to write continue.
}
//...
return $output;
}
echo insert_string($text,'500','<strong> related tags </stong>');
应该是正则表达式每个html标签进入循环,记住一定的位置和strlen()的文本长度,然后确定在哪里插入一些刺。但我想不出怎么写继续。需要帮助。谢谢。
【问题讨论】:
-
你认为一个词是什么?有什么用空格隔开的吗?
-
@Fede,简单的代码解释,像这样
echo insert_string('<div id="mw-content-text"><p>Lorem ipsum</p><p>dolor sit</p><p>amet</p></div>',10,"<stong> related news </stong>");=><div id="mw-content-text"><p>Lorem ipsum</p><p>dolor <stong> related news </stong> sit</p><p>amet</p></div>,应该是不打断html标签,应该考虑不打断一个字。