我需要计算变量中单词内容的函数例如:
$comments=bla bla bla bla bla bla bla
4 个单词的第一个单词开始,插入以下标签:"<!--more-->"
所以最后我在这个模式下有了新的变量 $comments=bla bla bla bla<!--more-->bla bla bla
有可能?
我发现这个 appaear 工作 我想与你分享
function strpop($str, $word, $num=10)
{
if(str_word_count($str,0,'123456789') <= $num)
return $str." ".$word;
$tmp = array_keys(str_word_count($str,2, '123456789'));
for($x=0; $x < sizeof($tmp)-$num; $x+=$num)
{
$portion .= substr($str, $tmp[$x], $tmp[($x+$num)]) . $word;
}
return $portion;
}
$string = "$comments";
$word_to_add = "<!--more-->";
$newstr = strpop($string, $word_to_add);
$s="This is a very long string, here, actually really really long, or not that much.";
$toinsert="<!--more-->";
$tok=strtok($s, " ");
$s2='';
for ($i=1; $tok!==false; $i++) {
$s2.=$tok.' '.($i == 4 ? $toinsert : '');
$tok=strtok(" ");
}
$s2
将保存您的新字符串。
PHP strtok()
$comments = explode(' ', $comments);
$counter = 0;
$out = array();
foreach($comments as $key => $value) {
$out[] = $value . ' ';
if (3 == $key){
$out[] = '"<!--more-->"';
}
}
$comments = trim(implode('', $out));
我认为最好的选择是:
1) 使用正则表达式提取标记代码(HTML 和注释)。
您可以在以下位置看到包含有关正则表达式的示例的详细教程:http://www.roscripts.com/PHP_regular_expressions_examples-136.html
2)提取所有标记代码后,您可以进行简单的分解。
就这样。